我的WebBrowser
中有Form
控件。我允许调用C#表单中的方法的JavaScript
:
[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
的滚动条时,页面会刷新并且滚动条仍然存在。
不知道是什么问题?还有其他方法可以隐藏和禁用scrolllbar吗?
答案 0 :(得分:2)
在内部,browser.ScrollBarsEnabled
通过DOCHOSTUIFLAG_SCROLL_NO设置为IDocHostUIHandler::GetHostInfo标记。 WebBrowser
对象必须重新加载文档才能获取新值。
我建议将browser.ScrollBarsEnabled
设置为false
一次,在表单中InitializeComponent()
之后,然后使用CSS控制滚动:<body style="overflow: auto">...</body>
将自动生成滚动条,并且style="overflow: hidden"
会让他们消失。