Убрать обработчики события
Compositor
Дата: 29.12.2009 16:43:17
Есть кнопка. Как убрать обработчик её клика.
bt.Click -= new EventHandler(bt_Click);
не катит. Т.к. у меня нет доступа к bt_Click.
vagner
Дата: 29.12.2009 16:50:20
А доступ к кнопке есть? Убить кнопку. А зачем нужна без клика?
Compositor
Дата: 29.12.2009 17:03:25
доступ есть. Убивать жалко. Может рефлексией как-то можно до обработчика добраться, чтобы его снять?
Compositor
Дата: 29.12.2009 17:04:08
Или мне надо переопределить клик у существующей кнопки.
gds
Дата: 29.12.2009 17:08:10
Compositor,
переопределите метод OnClick()
// из рефлектора
//
[EditorBrowsable(EditorBrowsableState.Advanced)]
protected virtual void OnClick(EventArgs e)
{
EventHandler handler = (EventHandler) base.Events[EventClick];
if (handler != null)
{
handler(this, e);
}
}
Compositor
Дата: 29.12.2009 17:12:45
Пожалуй просто убью, по совету Вагнера.
Всем спасибо.
vladgrig
Дата: 29.12.2009 17:20:14
+ off |
автор | Пожалуй просто убью, по совету Вагнера. Всем спасибо. |
прям вырезка из детективного романа...!!! спс за хорошее настроение в конце рабочего дня! ;))) |
Compositor
Дата: 29.12.2009 17:24:44
vladgrig,
спасибо и тебе. Появляйся по чаще. А то в последние пару лет тебя не видно.
sqI
Дата: 29.12.2009 17:25:38
задизейблить кнопку ?
Compositor
Дата: 29.12.2009 17:29:18
sqI,
да нет. Надо было переопределить кнопку одного диалога.
Странно что у контролов нету что-то типа отцепить все делегаты события.