无法在 winforms 上使用 WebBrowser 滚动条
Can't use WebBrowser Scrollbar on winforms
我有一个 Winforms VB.NET 应用程序,它使用 WebBrowser
控件来呈现 HTML。
WebBrowser
嵌入到另一个 Panel
上的 Panel
中。所以嵌入是Form --> Panel
--> Panel
--> WebBrowser
每当 DocumentText
超出 WebBrowser
的可见边界时,就会显示滚动条,您认为可以使用它滚动,但事实并非如此。滚动条不响应鼠标输入。我现在调试了几个小时,找不到解决方案。另一件事是,这是视觉样式似乎被停用的唯一控件。滚动条看起来与 相同 面板上的其他滚动条不同。
总结:
- 只有似乎禁用了视觉样式的控件
- 不能使用滚动条,即使它没有变灰并且实际上显示一个条。
我已经用这个设置创建了一个示例项目,它没有显示相同的问题。这里会发生什么?
好吧,我想我遇到了一个非常独特的情况。
在我的代码中,WebBrowser
被转换为 Control
,然后设置为 Enabled = False
,这适用于 Control
,但不支持WebBrowser
。之后 WebBrowser
被设置为 Enabled = True
。所以在内部,WebBrowser
是不可选择的,因为 Enabled
是 False
即使 WebBrowser
.
不支持
Dim xBrowser As WebBrowser
Dim xControl = CType(xBrowser, Control)
xControl.Enabled = False 'Works
xBrowser.Enabled = True 'Does not work.
'Result: WebBrowser not selectable.
我有一个 Winforms VB.NET 应用程序,它使用 WebBrowser
控件来呈现 HTML。
WebBrowser
嵌入到另一个 Panel
上的 Panel
中。所以嵌入是Form --> Panel
--> Panel
--> WebBrowser
每当 DocumentText
超出 WebBrowser
的可见边界时,就会显示滚动条,您认为可以使用它滚动,但事实并非如此。滚动条不响应鼠标输入。我现在调试了几个小时,找不到解决方案。另一件事是,这是视觉样式似乎被停用的唯一控件。滚动条看起来与 相同 面板上的其他滚动条不同。
总结:
- 只有似乎禁用了视觉样式的控件
- 不能使用滚动条,即使它没有变灰并且实际上显示一个条。
我已经用这个设置创建了一个示例项目,它没有显示相同的问题。这里会发生什么?
好吧,我想我遇到了一个非常独特的情况。
在我的代码中,WebBrowser
被转换为 Control
,然后设置为 Enabled = False
,这适用于 Control
,但不支持WebBrowser
。之后 WebBrowser
被设置为 Enabled = True
。所以在内部,WebBrowser
是不可选择的,因为 Enabled
是 False
即使 WebBrowser
.
Dim xBrowser As WebBrowser
Dim xControl = CType(xBrowser, Control)
xControl.Enabled = False 'Works
xBrowser.Enabled = True 'Does not work.
'Result: WebBrowser not selectable.