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

How workaround windows-10 webbrowser shellfolderview scrolling Bug?

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

在 windows10 上有一个显示错误,在重新排序内容后,当所选项目从底部移动到顶部时。

让我们重现:

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

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

  4. 启动应用程序,如果需要切换到详细信息视图(右键单击 - 上下文菜单)

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

  6. 按名称列排序以将项目移至末尾

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

您会看到,滚动条、window 和列表不同步。 Scrollbar 向上移动,但 Item 没有移动到列表的第一个位置。此外,该项目仅在鼠标悬停后可见。稍微拖动滚动条也不能解决这个问题。

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

是的,我想显示带有详细信息的列表-查看 :-)。

如何解决?

此 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 进行了测试。

所以更新一下Windows10.谢谢大家的帮助