2011-07-26 5 views
0
var obj=new Button(); 
string eventName = "Click"; 

var evt = obj.GetType().GetEvent(eventName); 

EventHandler myCode = delegate {MessageBox.Show("asd");}; 
evt.AddEventHandler(obj, myCode); 

こんにちは、私はこのコード クリックイベントがイベントクラス

は、どのように私はこのコードでいるEventArgs電子のparametrを取得することができます2 parametrオブジェクトの送信者とのEventArgs電子に必要しているボタンのクリックイベントにイベントハンドラを追加してい にするには?その後、 "ハンドラ内の" あなたが意味する場合

答えて

2

、:

EventHandler myCode = delegate (object sender, EventArgs e) { 
     MessageBox.Show("asd");}; 

以上の高密度のラムダのように:

EventHandler myCode = (sender, e) => MessageBox.Show("asd"); 

"イベントを呼び出すときに、" あなたが意味する場合は、objEventArgs.Emptyを使用。

+0

私はそこに私のdll内の空隙があると私は メインコード { 組立反射 VAR OBJ =新しいボタン()のようにそこに私のparamersを送信する他のリフレクションを使用しています。 string eventName = "クリック"; var evt = obj.GetType()。GetEvent(eventName); EventHandler myCode =デリゲート{MessageBox.Show( "asd");}; evt.AddEventHandler(obj、myCode); ここでどのようにパラメータを送信できますか?そうでないかもしれないEventArg KeyEventArgs } MYDLL 無効Button_Click(オブジェクト送信者、EventArgsの電子) { CODESそのシナリオでは } – YardimaIhtiyaciOlan

+0

に、私は信じている* *その 'Delegate.CreateDeletgate'既存の方法はギャップを越えてシムできるはずです。 –

関連する問題