Где вызывается метод InvokeOnClick (), когда я нажимаю кнопку в C # WinForms? - PullRequest
0 голосов
/ 31 октября 2018

Я обнаружил, что InvokeOnClick - это метод, который вызывает событие Click при нажатии кнопки.
Но я не могу найти код, где в коде конструктора вызывается метод InvokeOnClick().
Я неправильно понял?
Если да, то как на самом деле вызывается событие Click, когда мы нажимаем на кнопку управления?

public class Control
{
    public event EventHandler Click{
                        add
                        {
                            this.Events.AddHandler(Control.EventClick, (Delegate) value);
                        }
                        remove
                        {
                            this.Events.RemoveHandler(Control.EventClick, (Delegate) value);
                        }
    }

    protected void InvokeOnClick(Control toInvoke, EventArgs e)
    {
        toInvoke?.OnClick(e);
    }
}

1 Ответ

0 голосов
/ 31 октября 2018

InvokeOnClick в настоящее время не используется.

Событие Click вызывается методом Control.OnClick:

EventHandler handler = (EventHandler)Events[EventClick];
if (handler != null) handler(this, e);

Для Button это происходит, например, при наведении мыши и вызове PerformClick: см. здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...