private static void ApplyToButton(Button btn, Form fContext) { DialogResult dr = btn.DialogResult; if (dr == DialogResult.None) { return; // No workaround required } object objClickEvent; EventHandlerList ehl = GetEventHandlers(btn, out objClickEvent); if (ehl == null) { Debug.Assert(false); return; } Delegate fnClick = ehl[objClickEvent]; // May be null EventHandler fnOvr = new EventHandler(MonoWorkarounds.OnButtonClick); m_dictHandlers[btn] = new MwaHandlerInfo(fnClick, fnOvr, dr, fContext); btn.DialogResult = DialogResult.None; if (fnClick != null) { ehl.RemoveHandler(objClickEvent, fnClick); } ehl[objClickEvent] = fnOvr; }
private static void ApplyToButton(Button btn, Form fContext) { DialogResult dr = btn.DialogResult; if(dr == DialogResult.None) return; // No workaround required object objClickEvent; EventHandlerList ehl = GetEventHandlers(btn, out objClickEvent); if(ehl == null) { Debug.Assert(false); return; } Delegate fnClick = ehl[objClickEvent]; // May be null EventHandler fnOvr = new EventHandler(MonoWorkarounds.OnButtonClick); m_dictHandlers[btn] = new MwaHandlerInfo(fnClick, fnOvr, dr, fContext); btn.DialogResult = DialogResult.None; if(fnClick != null) ehl.RemoveHandler(objClickEvent, fnClick); ehl[objClickEvent] = fnOvr; }