Visual C#窗体右键单击按钮
本文关键字:单击 按钮 右键 窗体 Visual | 更新日期: 2023-09-27 18:26:00
我正试图在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
事件。它将解决您的问题。
private void button1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
//do something
}
if (e.Button == MouseButtons.Right)
{
//do something
}
}
按钮只对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();
}