![](/img/trans.png)
[英]Windows Forms: ctrl button prevents ListView from scrolling with mouse wheel
[英]Scrolling ListView with mouse wheel occasionally negates scroll
我在使用Win32 listview时遇到了一些麻烦,我希望有人有一些智慧。 当滚动非常快(通过滚轮)时,有时候列表视图会滚动,只会跳回到所选项目以便它在视图中。 换句话说,列表撤消您的滚轮滚动,以显示列表顶部/底部的所选项目。 我意识到这听起来非常可疑,因为常见的控制措施已经被全世界殴打致死。
以下是您可以复制的方式:
常规和虚拟列表视图都会发生这种情况。 我在Windows 7旗舰版上测试了Win32和C#。
我制作了一个展示行为的小型WinForms应用程序 (需要.NET Framework 3.5)。 如果您不想从陌生人(我明白)运行任意可执行文件,请创建一个新的WinForms应用程序,在报表模式中删除listview,添加一个列,并在表单load事件中填充500个增加的整数:
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 500; i++)
{
this.listView1.Items.Add(i.ToString());
}
}
我注意到了这种行为,它似乎确实内置在列表视图控件中。 我看不出任何有用的功能的原因。 我在Sysinternals论坛上创建了一个帖子 。 它可能有用。
“我意识到这听起来非常可疑,因为共同的控制已经被全世界殴打致死。”
ListView并没有被打死,但它仍然是生命支持。 使用不同的控件。
它是一个自定义列表视图(覆盖绘图?)顺便说一句,我(从我的理解)面对自定义列表框的相同问题,并在这里找到一些帮助:
http://aviationxchange.net/wikis/winforms/net-color-listbox.aspx (文档末尾)。
希望这可以帮助。
我遇到了同样的问题,但我认为我找到了原因:我使用的工具允许你配置鼠标按钮( X-Mouse Button Control )。 通过禁用它,问题就像魔法一样消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.