【问题标题】:C# WebBrowser disable and hide scrollbarC# WebBrowser 禁用和隐藏滚动条
【发布时间】:2013-10-14 01:53:30
【问题描述】:

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

【问题讨论】:

  • 在这个问题上有一个look

标签: c# javascript winforms webbrowser-control


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-03-16
    • 2020-01-22
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 2019-11-14
    • 2011-03-03
    • 1970-01-01
    • 2014-04-07
    相关资源
    最近更新 更多