如何检测是否控制.点击事件是由鼠标、键盘或其他东西引起的

本文关键字:键盘 鼠标 其他 检测 何检测 是否 事件 控制 | 更新日期: 2023-09-27 18:01:37

如何判断Control.Click事件是由鼠标触发还是由键盘触发?

编辑:

处理MouseClickKeyPress对我不起作用,因为我怎么知道是否有其他东西触发了点击?(例如PerformClick)

如何检测是否控制.点击事件是由鼠标、键盘或其他东西引起的

你不能。使用控件。事件和控件。KeyPress事件,以便您可以告诉事件的来源。请记住,控件上的空格与焦点和Ctrl+键也可以生成点击按钮

你不能告诉,但你可以使用MouseClick和KeyPress,如果你需要知道是什么引起的事件。

void handler(object sender, EventArgs e)
{
    bool mouseEvent = (e is MouseEventArgs);
    bool keyEvent = (e is KeyEventArgs);
    bool performClick = (e is EventArgs) && !keyEvent && !mouseEvent;
}