我的问题是因为我认为简单,但它变得更复杂一点,我试图实现的是这样的:我有几个按钮在我的WinForm中做几乎相同的事情,所以我创建了一个事件来处理所有这些事件,现在我希望根据他们点击哪个鼠标按钮给他们一些其他的功能,例如,如果按钮被点击左键执行,但是如果它的右键单击以其他方式执行,这可以实现吗?,任何帮助将不胜感激。检测按钮是左键还是右键
我正在寻找一些语句像这样也许......
private void buttons_Click(object sender, EventArgs e)
{
if(e.buttons==mousebuttons.right)
//do something
else
//do other thing
}
正如你所知道的是,这是无法实现的,因为e
上有没有mouse button events
的东西,造成i'ts是称为button click event
。
A “点击” 的定义是一个单一的,左击鼠标。您的用户也会期待这一点。如果右键单击程序中的某个按钮,可能会引起混淆。也许你可以找到更符合标准的方法来开始你的行动。毕竟一个按钮上只有一个文本,要传达两种意义的两种含义,只有一个文本才能让用户点击按钮。 – nvoigt
任何时候,我已经做了这样的事情,我已经使用了MouseUp事件,因为click事件同时包含MouseDown和MouseUp事件,并且在鼠标被释放之前不会被触发,所以它在我心中是最合乎逻辑的地方做那样的事情。 –
您可以_type cast_'EventArgs e'到'MouseEventArgs'。但是,它只会捕获'mousebuttons.left',但不会'mousebuttons.right'。 – Edper