我试图改变光标出现在标准ListView上,当光标出现在一个项目上时。不过,当鼠标变成手指光标时,我会产生闪烁的效果,然后回到我问它的位置。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;
}
}
执行的应用程序,在一个项目上移动鼠标。当你在一个项目上时,你应该看到光标在No(没有输入光标)和手指指针之间闪烁。问题是如何确保它只显示No游标并且不闪烁。 (C#.NET)。
我试着重写OnMouseMove和OnMouseHover来返回,以确保这些不设置任何东西。我也尝试覆盖Cursor属性,并说'只设置为默认或没有游标',也没有工作。
任何帮助的赞赏。
伊恩
它发生在其他地方吗?例如,在超链接或其他应用程序中导航时?或者它只在你的应用程序中发生? 如果是这样,它可能更多是一个操作系统问题... – Razzie 2009-02-27 10:49:34
它是跨平台,跨应用程序。如果你阅读我的评论teknohippy ...这个问题被夸大手工绘制物品和hottracking。我试过覆盖WndProc返回,如果(m.Msg == 0x020)改变光标。有些东西将它切换到一只手,但我不确定是什么。 – Ian 2009-02-27 11:12:54