0
我尝试在Mouseclicks上做一个简单的颜色更换器,请参阅下面的代码。C#鼠标点击的颜色更换器不起作用
MouseButtons _lastButtonUp = MouseButtons.None;
private void ColorChanger_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.BackColor = Color.FromArgb(255, 0, 0);
}
if (e.Button == MouseButtons.Right)
{
this.BackColor = Color.FromArgb(0, 0, 255);
}
_lastButtonUp = e.Button;
}
private void ColorChanger_DoubleClick(object sender, EventArgs e)
{
switch (_lastButtonUp)
{
case System.Windows.Forms.MouseButtons.Left:
this.BackColor = Color.FromArgb(255, 255, 0);
break;
case System.Windows.Forms.MouseButtons.Right:
this.BackColor = Color.FromArgb(0, 255, 0);
break;
}
}
然而,这仅适用于单一的点击
当我尝试没有单一的点击这样的:
MouseButtons _lastButtonUp = MouseButtons.None;
private void ColorChanger_MouseUp(object sender, MouseEventArgs e)
{
_lastButtonUp = e.Button;
}
private void ColorChanger_DoubleClick(object sender, EventArgs e)
{
switch (_lastButtonUp)
{
case System.Windows.Forms.MouseButtons.Left:
this.BackColor = Color.FromArgb(255, 255, 0);
break;
case System.Windows.Forms.MouseButtons.Right:
this.BackColor = Color.FromArgb(0, 255, 0);
break;
}
}
的双击工作。
有谁知道我在做什么错?
感谢
不可以,MouseUp事件先引发。 – Berkay
@Berkay - 安德烈的文档与您的断言相矛盾。有什么要支持它? –
@Berkay MouseUp上升**两倍**:在mousedoubleclick –