コマンド ボタンのコレクションに単一のジェネリック メソッドを提供するにはどうすればよいでしょうか。digit(0, 1,2..) コマンド ボタンのコレクションがあり、動作が似ているため、それらすべてに対して単一のイベント メソッドが必要です。
1142 次
2 に答える
2
イベントのデリゲートのパターンは、2 つのパラメーターを使用することです。1 つは送信者、もう 1 つは eventargs です。送信者に基づいて何かを行うことも、タグに何かを入れることもできます
void OnButtonClick(object sender, EventArgs e)
{
Button button = sender as Button;
object data = button.Tag;
DoSomething(data);
}
于 2012-10-31T02:59:57.797 に答える
1
これは、マルチキャスト デリゲートによって実現できます。
GenericButtonClick
イベント ハンドラーを次のように定義します。void OnGenenicButtonClick(object sender, EventArgs e) { var btn = sender as Button; // ... do something ... }
GenericButtonClick
この方法でイベント デリゲートを割り当てます (たとえば、Load
イベント ハンドラーで)。cmdBtn1.Click += OnGenenicButtonClick; cmdBtn2.Click += OnGenenicButtonClick; //...
参照:
- また、シンプル デリゲート (デリゲート) とマルチキャスト デリゲートの違いも確認できます。
于 2012-10-31T03:23:17.450 に答える