我在表单上有一个按钮,想同时处理左右点击。
我正在处理 MouseClick 事件,但这仅在左键单击时引发。
这是我的代码中某处的问题(我错过的设置)还是预期的功能?
如果这无法解决,最好的解决方法是什么 - 处理 MouseUp 事件?
我想使用 MouseClick 的原因是可以自动识别双击。
感谢您的任何反馈。
我在表单上有一个按钮,想同时处理左右点击。
我正在处理 MouseClick 事件,但这仅在左键单击时引发。
这是我的代码中某处的问题(我错过的设置)还是预期的功能?
如果这无法解决,最好的解决方法是什么 - 处理 MouseUp 事件?
我想使用 MouseClick 的原因是可以自动识别双击。
感谢您的任何反馈。
使用鼠标!
private void button6_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
MessageBox.Show("LEFT");
}
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
MessageBox.Show("RIGHT");
}
}
没有代码很难回答,但总的来说,它应该可以工作。
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
MessageBox.Show("LEFT");
}
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
MessageBox.Show("RIGHT");
}
}
// 事件处理程序
this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseClick);
编辑:有一个 MouseDoubleClick 事件您可能想用来识别双击。适用于左右 musebuttons。
显然,这个问题的答案是OnClick
不处理Button
s 的右键单击事件。因此,解决方案是使用MouseUp
/MouseDown
并检查鼠标在中途手动打开/关闭的双击/单击。