How to detect if the Control.Click event was by the mouse, keyboard, or something else?

末鹿安然 提交于 2019-12-05 18:54:20

You can't. Use the Control.MouseClick event and the Control.KeyPress event so you can tell the source of the event. And remember that a space on the control with focus and a Ctrl+ key can generate a click on a button as well.

You can not tell, but you can use MouseClick and KeyPress if you need to know what originated the event.

void handler(object sender, EventArgs e)
{
    bool mouseEvent = (e is MouseEventArgs);
    bool keyEvent = (e is KeyEventArgs);
    bool performClick = (e is EventArgs) && !keyEvent && !mouseEvent;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!