dポイントプレゼントキャンペーン実施中!

フォーム間のデータ(パラメータ等)の受け渡しについて教えてください。
現在Form1からForm2を起動させる場合、以下のようにForm2のインスタンスの生成時のパラメータを設定してもForm2のLoadイベントでは拾うことはできないのでしょうか?
↓実際のコード
//Form1クラスのインスタンスを作成する
//引数(a,b)
Form2 f = new Form2(a,b);
//Form1を表示する
//ここではモーダルダイアログボックスとして表示する
//オーナーウィンドウにthisを指定する
f.ShowDialog(this);
//フォームが必要なくなったところで、Disposeを呼び出す
f.Dispose();

また、上記の方法が違っていた場合、方法としてどのようなやり方があるのか教えてください。
よろしくお願いいたします。

A 回答 (2件)

質問の意味がわからないんですが・・・(^-^;



Form2 f = new Form2(~);
でインスタンス生成をしているのですから、この時のパラメータは
コンストラクタに渡っています。

インスタンス生成時に渡されているパラメータなのですから、
Loadイベント以前の問題です。

この回答への補足

質問が間違っていました。コンストラクタでのパラメータの取得のイメージであっています。Loadイベントは間違いでした。
ただ、実際に実行しようとすると以下のようなエラーが出てしまいました。
↓以下エラー
「'System.ArgumentNullException' のハンドルされていない例外が mscorlib.dll で発生しました。
追加情報: 値を Null にすることはできません。」
これはどこの情報を修正すればよいでしょうか?

実際のコードでは
//引数(a,b)
Form2 f = new Form2(a,b);
の部分を
//引数(2,1)
Form2 f = new Form2(2,1);
としていますが、何か問題がありますでしょうか?

補足日時:2007/01/04 16:48
    • good
    • 0
この回答へのお礼

返信が遅れてすみません。
パラメータの件はうまくいきました。ありがとうございました。
また、エラーの件ですが、詳細は良くわからないのですが、
コンパイル環境が原因でエラーが起きていたみたいです。
お騒がせして申し訳ありませんでした。
これからもよろしくお願いいたします。

お礼日時:2007/01/05 09:36

Form2のコンストラクタで取得できると思います。


コンストラクタ以外で取得したい場合は、setterメソッドを作成して、適所でsetterメソッドをCallすればOKです。
    • good
    • 0
この回答へのお礼

返信が遅れてすみません。
パラメータの件はうまくいきました。ありがとうございました。
また、エラーの件ですが、詳細は良くわからないのですが、
コンパイル環境が原因でエラーが起きていたみたいです。
お騒がせして申し訳ありませんでした。
これからもよろしくお願いいたします。

お礼日時:2007/01/05 09:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!