- - PR -
[C#2005/Windowsアプリ]呼び出し元フォームのイベントの取得
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-04 14:18
FormA Button1 Button2
FormB があり、FormBを呼び出した場合にFormAのどちらのボタンのクリックイベントで呼ばれたかどうか FormBのLoad時に取得し、それぞれにLoad処理を変更したいのです。 値の受け渡しだとプロパティでgetsetで受け渡すのはわかってるのですが、 呼び出し元のイベントの判明をする場合はどのようにすればよいでしょうか。 FormAのbutton_Clickイベント時にプロパティに値を渡してやって、FormBでその値によって処理を変更する、と 思ったのですが、もっと適切な取得方法がありそうな気がして質問させていただきました。 上記以外の方法は何かありますでしょうか?宜しく御願いします。 [ メッセージ編集済み 編集者: ちづる 編集日時 2007-10-04 14:34 ] | ||||
|
投稿日時: 2007-10-04 14:44
Load 時にしてもやはり値の受け渡しが最も素直だと思います。 Show メソッドなり ShowDialog メソッドなりで呼び出していると思いますが、その前に呼び出し先のプロパティにどの Button かを示す値を渡しておくか、あるいは自作の Show メソッドの引数へ値を渡すなどです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-10-04 14:55
FormBのインスタンスをnewする時に、そのFormBに実装されている2種類の処理の内どちらの処理をして欲しいかを指定する引数を渡すのはどうでしょうか。
強調しますが、「どちらのボタンが押されたか」ではなく「どちらの処理をするか」ですからね。 | ||||
|
投稿日時: 2007-10-04 14:59
一郎様、じゃんぬねっと様ありがとうございます。
やはり値の受け渡しが一番素直なんですね。 呼び出し先のプロパティに値を渡す方法を行ってみます。 ありがとうございました。 | ||||
|
投稿日時: 2007-10-04 15:41
処理という主眼だとこちらの方がわかりやすいですね。 UI に関係がなければ別クラスという手もありますね。 ケース バイ ケースですかね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1