此功能仅识别鼠标的左键。如何让这个程序识别鼠标右键,以便用鼠标右键单击此按钮?
private void button2_Click(object sender, EventArgs e)
{
MouseEventArgs me = (MouseEventArgs)e;
if (buttonwasclicked==false)
{
DrawLinesOnBitmap(button2.BackgroundImage);
button2.BackgroundImage= ToGrayscale(button2.BackgroundImage);
buttonwasclicked = true;
}
else {
button2.BackgroundImageLayout = ImageLayout.Stretch;
button2.BackgroundImage = Image.FromFile("C:\\Users\\rati\\Desktop\\ks.png");
buttonwasclicked = false;
}
if (me.Button == MouseButtons.Left)
{
mysum += md;
if (buttonwasclicked == true) md *= -1; else md *= -1;
label1.Text = mysum.ToString();
}
if (me.Button == MouseButtons.Right) {
enemysum += ed;
if (buttonwasclicked == true) ed *= -1; else ed *= -1;
label2.Text = enemysum.ToString();
}
}
答案 0 :(得分:0)
使用" MouseClick"事件而不是" Click"事件,"点击"没有识别鼠标的右键单击。
如果您正在使用Visual Studio,只需转到设计器,单击按钮,转到属性,然后单击闪电图标。然后你找到" MouseClick"然后双击它。
答案 1 :(得分:0)
您应该使用MouseDown
事件。它具有MouseEventArgs
参数,其中包含Button
属性。所以你可以检查按钮是否已关闭。
答案 2 :(得分:0)
您需要同时使用MouseDown
和MouseUp
操作来解释点击。
您的行动清单应与以下内容类似:
然后按如下方式解释行动:
int prevMouseX;
int prevMouseY;
private void mouseDown(object sender, MouseEventArgs e)
{
prevMouseX = e.X;
prevMouseY = e.Y;
}
private void mouseUp(object sender, MouseEventArgs e)
{
if (prevMouseX == e.X && prevMouseY == e.Y)
mouseClick(sender, e);
}
private void mouseClick(object sender, MouseEventArgs e)
{
//Do Stuff
}
这应该适合你!
我的代码解释了当鼠标在同一位置向下和向上移动时的点击。