- ベストアンサー
フォーム間でのオブジェクト又は値の共有
Visual StudioにてWindowsフォームアプリを作成しています。 ログイン画面がありそこで使用したユーザーIDを別の画面で表示させたいというとき どうすればよいのでしょうか。 インターネットを検索しているとフォーム情報を次の遷移先の画面のフォームクラスに渡す というような処理をやっていたのですがこの方法だと画面数が多いと大変だと思います。 セッションのようなどの画面からもアクセスできるような仕組みはWindowsフォームアプリには 用意されているのでしょうか。一般的にはどのようにやるものなのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>インターネットを検索しているとフォーム情報を次の遷移先の画面のフォームクラスに渡す >というような処理をやっていたのですがこの方法だと画面数が多いと大変だと思います。 データをまとめて保持するクラスを作って、フォームのプロパティなどで受け渡しするようにする。 とかありそうですが……。 面倒なら受け渡しする為のプロパティを組み込んだクラスをFormクラスから継承して、そのクラスを継承してそれぞれのフォームを作ればコード書く場所は限定できますし。 # まぁ、フォームを追加するたびにコードの一部を修正する必要があるでしょうけど。(どうせ追加時の1回だけです) あとは…Program.csにフィールド追加でしょうかね? やったことはありませんけど。 http://okwave.jp/qa/q4740138.html http://social.msdn.microsoft.com/Forums/ja-JP/56f0d319-d1b6-4adb-b91a-c92e16c3bdfc/formclass?forum=csharpgeneralja などなど。
その他の回答 (1)
- DoubtOwl
- ベストアンサー率50% (63/124)
一般的にはあなたが調べられたようにフォームに受け渡します。 Staticクラスやグローバル変数で調べるといいかと思います。
お礼
ご回答ありがとうございます。 早速、調べてみたいと思います。
お礼
ご回答ありがとうございます。 リンク先を参照してみたいと思います。