5

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

在 Windows 10 上,当所选项目从底部移动到顶部时,重新排序内容后会出现显示错误。

让我们重现:

  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 重绘,但没有成功。

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

如何解决这个问题?

4

1 回答 1

0

此 Windows-Bug 至少存在于 Windows-10-Version 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

在秋季创作者更新中,Bug 消失了。我用 1709 Build 16299.125 测试过

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

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

于 2018-01-17T09:57:06.103 回答