3

私はこのイベントハンドラーを持っています

Temp.MouseLeftButtonDown += new MouseButtonEventHandler(Temp_MouseLeftButtonDown);

しかし、Temp_MouseLeftButtonDown関数でアクセスするためにいくつかのパラメーターを送信したいです。どのように割り当てることができますか??

4

1 に答える 1

5

イベント ハンドラーは、MouseButtonEventHandler と互換性のあるシグネチャしか期待できないため、直接実行することはできません。

C# 3 を使用している場合、最も簡単な方法は、次のようなラムダ式を使用することです。

Temp.MouseLeftButtonDown +=
   (sender, args) => Temp_MouseLeftButtonDown(sender, args, "extra argument");

それは役に立ちますか?もちろん、sender 引数と event 引数の両方が必要ない場合は、それらを指定する必要はありません。

C# 2 では、同じ方法で匿名メソッドを使用できました。

于 2010-06-08T09:17:11.820 に答える