- PR -

[C#2005/Windowsアプリ]呼び出し元フォームのイベントの取得

1
投稿者投稿内容
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2007-10-04 14:18
FormA Button1 Button2
FormB
があり、FormBを呼び出した場合にFormAのどちらのボタンのクリックイベントで呼ばれたかどうか
FormBのLoad時に取得し、それぞれにLoad処理を変更したいのです。
値の受け渡しだとプロパティでgetsetで受け渡すのはわかってるのですが、
呼び出し元のイベントの判明をする場合はどのようにすればよいでしょうか。

FormAのbutton_Clickイベント時にプロパティに値を渡してやって、FormBでその値によって処理を変更する、と
思ったのですが、もっと適切な取得方法がありそうな気がして質問させていただきました。
上記以外の方法は何かありますでしょうか?宜しく御願いします。

[ メッセージ編集済み 編集者: ちづる 編集日時 2007-10-04 14:34 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-10-04 14:44
引用:

ちづるさんの書き込み (2007-10-04 14:18) より:

FormBのLoad時に取得し、それぞれにLoad処理を変更したいのです。


Load 時にしてもやはり値の受け渡しが最も素直だと思います。 Show メソッドなり ShowDialog メソッドなりで呼び出していると思いますが、その前に呼び出し先のプロパティにどの Button かを示す値を渡しておくか、あるいは自作の Show メソッドの引数へ値を渡すなどです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2007-10-04 14:55
FormBのインスタンスをnewする時に、そのFormBに実装されている2種類の処理の内どちらの処理をして欲しいかを指定する引数を渡すのはどうでしょうか。

強調しますが、「どちらのボタンが押されたか」ではなく「どちらの処理をするか」ですからね。
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2007-10-04 14:59
一郎様、じゃんぬねっと様ありがとうございます。

やはり値の受け渡しが一番素直なんですね。
呼び出し先のプロパティに値を渡す方法を行ってみます。
ありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-10-04 15:41
引用:

一郎さんの書き込み (2007-10-04 14:55) より:

FormBのインスタンスをnewする時に、そのFormBに実装されている2種類の処理の内どちらの処理をして欲しいかを指定する引数を渡すのはどうでしょうか。


処理という主眼だとこちらの方がわかりやすいですね。 UI に関係がなければ別クラスという手もありますね。 ケース バイ ケースですかね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)