好的我有很多按钮。我已经使用mouse_click事件交替改变浅蓝色和浅灰色之间的背景颜色:
private void alternateColor(Control ctrl)
{
switch (ctrl.BackColor.Name)
{
case "LightGray":
ctrl.BackColor = Color.LightBlue;
break;
default:
ctrl.BackColor = Color.LightGray;
break;
}
}
private void matrixButtonClick(object sender, MouseEventArgs e)
{
alternateColor(sender as Control);
}
我希望能够做的是每次将鼠标悬停在按钮上并按住鼠标左键时,按钮的颜色会改变一次。因此,如果我按住左键,移动说6个浅灰色按钮,它们会变成淡蓝色等。
我有这个,但它不起作用:
private void matrixMouseHover(object sender, EventArgs e)
{
if (Control.MouseButtons == System.Windows.Forms.MouseButtons.Left)
{
alternateColor(sender as Control);
}
}
感谢任何帮助,谢谢:)
答案 0 :(得分:1)
我认为你误解了什么" hover"在这种情况下意味着一个开始。 "悬停"将鼠标指针放在某物上并不意味着什么。这意味着将鼠标指针放在某物上并停止。您只是在谈论MouseEnter
事件,而不是MouseHover
。