当我单击C#WinForms中的按钮时,在哪里调用InvokeOnClick()方法?

时间:2018-10-31 14:05:44

标签: c# winforms events

我发现InvokeOnClick是单击按钮时引发Click事件的方法。
但是我找不到在Designer代码中调用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 :(得分:0)

InvokeOnClick当前未使用。

Control.OnClick方法引发Click事件:

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

对于Button,例如鼠标悬停并调用PerformClicksee here