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

时间:2017-12-22 10:46:51

标签: .net windows-10 webbrowser-control shell32.dll syslistview32

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

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

让我们再现:

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

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

  4. 启动应用程序,根据需要切换到详细信息 - 查看(右键单击 - 上下文菜单) WebBrowser Control showing local folder in DetailView

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

  6. 按名称列排序,将项目移至结束

  7. selected item is scrolled to bottom

    1. 再次按名称列排序,将所选项目移至顶部
    2. showing scrollbar, window and list are not in sync

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

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

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

      如何解决这个问题?

1 个答案:

答案 0 :(得分: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

在Fall Creators Update中,Bug已经消失。我测试了1709 Build 16299.125

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

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