如何解决windows-10 webbrowser shellfolderview滚动Bug?

gRe*_*ReX 5 .net webbrowser-control syslistview32 shell32.dll windows-10

我使用WebBrowser-Control来查看文件夹的内容.

在窗口10上有一个Display-Bug,在重新排序内容后,当所选项目从下到上移动时.

让我们重现:

  1. 启动干净的winform或wpf解决方案
  2. 将WebBrowser-Control拖入其中
  3. 添加代码以导航到您的自定义文件夹,例如:

    public Form1() { InitializeComponent(); webBrowser1.Navigate(@"C:\tmp\yourfolder\"); }

  4. 启动应用程序,切换到详细信息 - 如果需要查看(右键单击 - 上下文菜单) WebBrowser控件在DetailView中显示本地文件夹

  5. 按名称列排序,选择第一个条目

  6. 按名称列排序以将项目移动到结尾

所选项目滚动到底部

  1. 再次按名称列排序,将所选项目移至顶部

显示滚动条,窗口和列表不同步

你会看到,滚动条,窗口和列表不同步.滚动条向上移动,但项目未移动到列表中的第一个位置.此项目仅在鼠标悬停后可见.还拖动滚动条一点,不能治愈这种不端行为.

有人知道如何克服这个问题吗?我想通过调用InvalidateRect或向挂钩的SysListView32发送WM_PAINT消息来强制shellfolderview重绘,但没有成功.

是的,我想用详细信息显示列表 - 查看:-).

怎么解决这个?

gRe*_*ReX 1

此 Windows-Bug 至少存在于 Windows-10 版本 1703 15063.674 和 15063.850 中。(创作者更新)

此处报告了此版本的其他问题: https ://answers.microsoft.com/en-us/windows/forum/windows_10-security/important-syslistview32-bug-with-multiple-items/9e6198f7-a38a-4614-bc89 -4781a9bde748?tm=1509985739913&auth=1

在秋季创作者更新中,该错误消失了。我用 1709 Build 16299.125 进行了测试

@Gaurange Dave 无法通过周年更新重现该错误。他使用 Build 14393.1944 进行了测试。

所以只需更新Windows 10即可。感谢大家的帮助。