Visual C#表单右键单击按钮
我正在尝试在visual c#中制作一个扫雷型游戏,当我右键单击并左键单击按钮时,我想要发生不同的事情,我该怎么做?
我试过这个代码,但它只记录左键点击:
private void button1_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"); } }
您必须使用MouseUp
或MouseDown
事件而不是Click
事件来捕获右键单击。
只需尝试使用button1_MouseDown
事件而不是button1_MouseClick
Event.It将解决您的问题。
private void button1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { //do something } if (e.Button == MouseButtons.Right) { //do something } }
Button只对MouseButtons.Left
做出反应,而不是对MouseButton.Right
做出反应,甚至对中间也没有反应。
void Select(object sender, MouseEventArgs e) { /* var btn = sender as CardButton;*/ if (e.Button == MouseButtons.Left) { if (this.Selected == false) { this.Selected = true; } else { this.Selected = false; } } if (e.Button == MouseButtons.Right) { if (this.Selected == false) { this.Selected = true; } else { this.Selected = false; } } Draw(); }