【发布时间】:2015-06-24 05:43:54
【问题描述】:
在 winforms listbox987654322@ 中聚焦时如何更改项目的颜色?
我尝试了listbox 的MouseHover 事件。但是什么也没发生。
private void lstNumbers_MouseHover(object sender, EventArgs e)
{
Point point = lstNumbers.PointToClient(Cursor.Position);
int index = lstNumbers.IndexFromPoint(point);
if (index < 0) return;
lstNumbers.GetItemRectangle(index).Inflate(1, 2);
}
【问题讨论】:
-
您认为在您的代码中,着色发生了什么变化?另外:默认情况下,悬停和焦点不是一回事。最后:悬停不像您所期望的那样工作:当您在控件内移动鼠标时,它不会再次触发。也许 MouseMove 会更好地帮助你。但我不知道在什么..?
-
@TaW,有什么解决办法吗?也尝试了
MouseMove,但没有任何反应。 -
请参阅stackoverflow.com/q/1316027/292411,了解使用
DrawMode属性覆盖项目绘制的解决方案。 -
@C.Evenhuis,谢谢,我按照这个问题解决了我的问题。
-
'也尝试了 MouseMove,但没有任何反应。'当然。您的代码中没有“发生”的内容..