1

我可以WebBrowser控制我的Form. 我允许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页面的滚动条被刷新并且滚动条仍然存在。知道是什么问题吗?还有其他方法可以隐藏和禁用滚动条吗?

4

1 回答 1

2

在内部,通过IDocHostUIHandler::GetHostInfobrowser.ScrollBarsEnabled设置为DOCHOSTUIFLAG_SCROLL_NO标志。对象必须重新加载文档才能获取新值。WebBrowser

我建议在您的表单中设置browser.ScrollBarsEnabled一次falseInitializeComponent()然后使用 CSS 控制滚动:<body style="overflow: auto">...</body>将使滚动条自动,style="overflow: hidden"并使它们消失。

于 2013-10-07T13:58:50.123 回答