使用按鈕單擊事件中的以下代碼可以刪除事件處理程序。使用代碼刪除事件處理程序
Button btn = new Button();
this.Controls.Add(btn);
btn.Click += (o, x) =>
{
Button b = o as Button;
FieldInfo eventclick = typeof(Control).GetField("EventClick", BindingFlags.Static | BindingFlags.NonPublic);
object eventValue = eventclick.GetValue(b);
PropertyInfo events = b.GetType().GetProperty("Events", BindingFlags.NonPublic | BindingFlags.Instance);
EventHandlerList eventHandlerList = (EventHandlerList)events.GetValue(b, null);
eventHandlerList .RemoveHandler(eventValue, eventHandlerList [eventValue]);
MessageBox.Show("Test");
};
但我想從vgridcontrols CellValueChanged事件中刪除事件處理程序。我需要在以下內容中爲「EventClick」撰寫什麼內容?
FieldInfo eventclick = typeof(Control).GetField(
"EventClick",
BindingFlags.Static | BindingFlags.NonPublic);
歸屬是SO所必需的。不鏈接你發現的答案實際上阻止你得到一個很好的答案。 –
我試過了不行 – YardimaIhtiyaciOlan