我想请你看看这段代码: 我有一个名为Button1的按钮。
private void button1_MouseHover(object sender, EventArgs e)
{
button1.BackColor = Color.Black;
}
private void button1_MouseLeave(object sender, EventArgs e)
{
button1.BackColor = Color.Blue;
}
此代码有效,但问题是延迟很小。改变颜色大约延迟1/2秒。我在WPF中尝试过同样的事情,绝对没有延迟。基本上我希望鼠标事件尽快发射。
我能以什么方式完成这项任务? 谢谢
答案 0 :(得分:5)
尝试使用MouseEnter事件而不是MouseHover - 后者在“延迟后”被触发,因为Windows无法判断鼠标是否悬停,除非它暂时静止不动。
答案 1 :(得分:0)
调用button1.Invalidate(false)
将导致在下一帧内重绘控件。将此行放在换色代码后面,看看它是否有效。