如何解决 windows-10 webbrowser shellfolderview 滚动 Bug?
How workaround windows-10 webbrowser shellfolderview scrolling Bug?
我使用 WebBrowser-Control 查看文件夹的内容。
在 windows10 上有一个显示错误,在重新排序内容后,当所选项目从底部移动到顶部时。
让我们重现:
- 启动干净的 winform 或 wpf 解决方案
- 将 WebBrowser-Control 拖到里面
添加代码以导航到您的自定义文件夹,例如:
public Form1()
{
InitializeComponent();
webBrowser1.Navigate(@"C:\tmp\yourfolder\");
}
启动应用程序,如果需要切换到详细信息视图(右键单击 - 上下文菜单)
按名称列排序,Select 第一个条目
按名称列排序以将项目移至末尾
- 再次按名称列排序,将所选项目移至顶部
您会看到,滚动条、window 和列表不同步。 Scrollbar 向上移动,但 Item 没有移动到列表的第一个位置。此外,该项目仅在鼠标悬停后可见。稍微拖动滚动条也不能解决这个问题。
有没有人知道如何克服这个问题?我正在考虑通过调用 InvalidateRect 或向挂钩的 SysListView32 发送 WM_PAINT 消息来强制重绘 shellfolderview,但没有成功。
是的,我想显示带有详细信息的列表-查看 :-)。
如何解决?
此 Windows-Bug 至少存在于 Windows-10-版本 1703 15063.674 和 15063.850 中。 (创作者更新)
在秋季创作者更新中,该错误消失了。我测试了 1709 Build 16299.125
@Gaurange Dave 无法通过周年更新重现该错误。他使用 Build 14393.1944 进行了测试。
所以更新一下Windows10.谢谢大家的帮助
我使用 WebBrowser-Control 查看文件夹的内容。
在 windows10 上有一个显示错误,在重新排序内容后,当所选项目从底部移动到顶部时。
让我们重现:
- 启动干净的 winform 或 wpf 解决方案
- 将 WebBrowser-Control 拖到里面
添加代码以导航到您的自定义文件夹,例如:
public Form1() { InitializeComponent(); webBrowser1.Navigate(@"C:\tmp\yourfolder\"); }
启动应用程序,如果需要切换到详细信息视图(右键单击 - 上下文菜单)
按名称列排序,Select 第一个条目
按名称列排序以将项目移至末尾
- 再次按名称列排序,将所选项目移至顶部
您会看到,滚动条、window 和列表不同步。 Scrollbar 向上移动,但 Item 没有移动到列表的第一个位置。此外,该项目仅在鼠标悬停后可见。稍微拖动滚动条也不能解决这个问题。
有没有人知道如何克服这个问题?我正在考虑通过调用 InvalidateRect 或向挂钩的 SysListView32 发送 WM_PAINT 消息来强制重绘 shellfolderview,但没有成功。
是的,我想显示带有详细信息的列表-查看 :-)。
如何解决?
此 Windows-Bug 至少存在于 Windows-10-版本 1703 15063.674 和 15063.850 中。 (创作者更新)
在秋季创作者更新中,该错误消失了。我测试了 1709 Build 16299.125
@Gaurange Dave 无法通过周年更新重现该错误。他使用 Build 14393.1944 进行了测试。
所以更新一下Windows10.谢谢大家的帮助