如何通过鼠标,键盘或其他东西检测Control.Click事件?

时间:2011-07-11 03:05:47

标签: c# .net winforms click

如何通过鼠标或键盘触发Control.Click事件?

编辑:

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

2 个答案:

答案 0 :(得分:6)

你做不到。使用Control.MouseClick事件和Control.KeyPress事件,以便告知事件来源。请记住,控件上有焦点的空格和Ctrl +键也可以生成按钮的单击。

答案 1 :(得分:3)

您无法分辨,但如果您需要了解事件的起源,可以使用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;
}