无法在 winforms 上使用 WebBrowser 滚动条

Can't use WebBrowser Scrollbar on winforms

我有一个 Winforms VB.NET 应用程序,它使用 WebBrowser 控件来呈现 HTML。

WebBrowser 嵌入到另一个 Panel 上的 Panel 中。所以嵌入是Form --> Panel --> Panel --> WebBrowser

每当 DocumentText 超出 WebBrowser 的可见边界时,就会显示滚动条,您认为可以使用它滚动,但事实并非如此。滚动条不响应鼠标输入。我现在调试了几个小时,找不到解决方案。另一件事是,这是视觉样式似乎被停用的唯一控件。滚动条看起来与 相同 面板上的其他滚动条不同。

总结:

  1. 只有似乎禁用了视觉样式的控件
  2. 不能使用滚动条,即使它没有变灰并且实际上显示一个条。

我已经用这个设置创建了一个示例项目,它没有显示相同的问题。这里会发生什么?

好吧,我想我遇到了一个非常独特的情况。

在我的代码中,WebBrowser 被转换为 Control,然后设置为 Enabled = False,这适用于 Control,但不支持WebBrowser。之后 WebBrowser 被设置为 Enabled = True。所以在内部,WebBrowser 是不可选择的,因为 EnabledFalse 即使 WebBrowser.

不支持
Dim xBrowser As WebBrowser
Dim xControl = CType(xBrowser, Control)
xControl.Enabled = False 'Works
xBrowser.Enabled = True 'Does not work.
'Result: WebBrowser not selectable.