C# Web 浏览器禁用和隐藏滚动条
本文关键字:隐藏 滚动条 Web 浏览器 | 更新日期: 2023-09-27 18:34:09
我的Form
中有WebBrowser
控制权。 并且我允许JavaScript
以 C# 形式调用方法:
[ComVisible(true)]
public class ScriptManager
{
// Variable to store the form of type Form1.
private Form1 mForm;
// Constructor.
public ScriptManager(Form1 form)
{
// Save the form so it can be referenced later.
mForm = form;
}
// This method can be called from JavaScript.
public void EnterFullScreenMode()
{
// Call a method on the form.
mForm.EnterFullScreenMode();
}
}
在形式中,我包括此方法:
public void EnterFullScreenMode()
{
browser.ScrollBarsEnabled = false;
}
我注意到,当我调用此方法删除WebBrowser
的滚动条时,页面会刷新并且滚动条仍然存在。知道问题出在哪里吗?还有其他方法可以隐藏和禁用滚动条吗?
在内部,browser.ScrollBarsEnabled
通过 IDocHostUIHandler::GetHostInformation 作为DOCHOSTUIFLAG_SCROLL_NO标志配置。WebBrowser
对象必须重新加载文档才能选取新值。
我建议在表单中InitializeComponent()
后将browser.ScrollBarsEnabled
设置为false
一次,然后使用 CSS 控制滚动:<body style="overflow: auto">...</body>
将使滚动条自动,style="overflow: hidden"
会使它们消失。