当光标出现在项目上时,我正在尝试更改标准ListView上显示的光标.然而,当鼠标变为手指光标,然后回到我要求的状态时,我得到一个闪烁的效果.
我试图隔离这个闪烁/改变到手形光标,但无法弄清楚它发生的位置或如何阻止它.要复制这个......
1)创建一个包含ListView的表单.2)添加图像列表和一些图像.将视图设置为大图标模式.3)将一些项添加到ListView.
添加一个MouseMove事件到ListView:
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
ListViewItem selected = this.listView1.GetItemAt(e.X, e.Y);
if (selected == null)
{
base.Cursor = Cursors.Default;
}
else
{
base.Cursor = Cursors.No;
}
}
Run Code Online (Sandbox Code Playgroud)
执行应用程序,将鼠标移到项目上.当您在项目上方时,您应该看到光标在No(无条目光标)和手指指针之间闪烁.问题是如何确保它只显示无光标和不闪烁.(C#.NET).
我已经尝试覆盖OnMouseMove和OnMouseHover以返回以确保它们不设置任何内容.我也尝试重写Cursor属性并说"只设置为默认或没有游标",这也不起作用.
任何帮助表示赞赏.
伊恩