きが遅く結合するイベントハンドラのクライアントまで、フルのC#?
-
22-08-2019 - |
質問
私はオブジェクトの作成セミナーでは、それぞれ挿入してドキュメントを編集するには、テーブルのイメージはラベルやlinkbuttonsれば、linkbuttonsまのご加入が必要、eventhandlerのクリックイベントが、どうしたらいいのかと悩んの方が実際に追加のハンドラです。このコードです:
WebControl myControl;
if _createLabel)
{
myControl = new Label();
}
else
{
myControl = new LinkButton();
}
myControl.ID = "someID";
myControl.GetType().InvokeMember("Text", BindingFlags.SetProperty, null, myControl, new object[] { "some text" });
if (!_createLabel)
{
// somehow do myControl.Click += myControlHandler; here
}
他のヒント
次のように動作します:
LinkButton lnk = myControl as LinkButton;
if (lnk != null)
{
lnk.Click += myControlHandler;
}
これは(名前で)現在のインスタンスのメソッドを(名前で)コントロールの結合事象を示しています。
Button btn = new Button();
EventInfo evt = btn.GetType().GetEvent("Click");
MethodInfo handler = GetType().GetMethod("SomeHandler",
BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
evt.AddEventHandler(btn, Delegate.CreateDelegate(
evt.EventHandlerType, this, handler));
あなたは簡単に行うことができます:
Control.Event + =新しいEventHandlerType(this.controlClick);
所属していません StackOverflow