[英]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.