WinForms / .NET: Как прикрепить обработчик события к событию? - PullRequest
0 голосов
/ 18 ноября 2011

Как я могу прикрепить обработчик события к событию?

псевдокод, например, ради:

public static EventHandler GetChangeUICuesEventHandler(Control SomeControl)
{
   EventHandler changeUICuesEventHandler = SomeControl.ChangeUICues;
   return changeUICuesEventHandler
}

Пример использования (псевдокод):

Control control = GetControlByName(Console.ReadLine());
button1.ChangeUICues += GetChangeUICuesEventHandler(control);

1 Ответ

1 голос
/ 18 ноября 2011

Я предлагаю следующий вариант в качестве альтернативного пути, а не прямой ответ ... Так что вот так ...

Можете ли вы подойти к этому немного иначе, возможно, убедившись, что ваш элемент управления с уже подключенным обработчиком событий, в данном случае параметром someControl, вместо этого реализует интерфейс, который определяет подключенный обработчик. Например:

public interface ChangUICuesHandler
{
    void OnChangeUICues(object sender, EventArgs e);
}

Тогда вы можете использовать это так:

Control control = GetControlByName(Console.ReadLine());
if (!(control is ChangeUICuesHandler))
{
    throw new Exception("Input Control does not implement the interface");
}
var handlerControl = control as ChangeUICuesHandler;
button.ChangeUICues += handler.OnChangeUICues;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...