【问题标题】:Is it possible to query the WebBrowser control whether the horizontal scrollbar is visible?是否可以查询 WebBrowser 控件水平滚动条是否可见?
【发布时间】:2012-02-04 15:01:05
【问题描述】:

在我的 Windows 窗体应用程序中使用 WebBrowser control,我想检索当前是否显示水平滚动条的信息。

例如我想创建一个函数/属性,我们称之为“HasHorzontalScrollbar”,它要么返回true,要么返回false

我尝试使用 Spy++ 来检查窗口,并尝试从窗口中读取大小,类似于以下内容,但我仍然无法获得有意义的值:

var height1 = webBrowser1.Document.Window.Size.Height;
var height2 = webBrowser1.Height;

我的问题是:

有没有办法查询WebBrowser当前水平滚动条是否可见?

编辑:已解决

感谢Yahia 的帮助,我能够开发出一个解决方案:

public bool HasHorizontalScrollbar
{
    get
    {
        var width1 = webBrowser.Document.Body.ScrollRectangle.Width;
        var width2 = webBrowser.Document.Window.Size.Width;

        return width1 > width2;
    }
}

这适用于我的测试环境。

【问题讨论】:

    标签: c# winforms dom scrollbar webbrowser-control


    【解决方案1】:

    试试

    var height = webBrowser1.Document.Body.ScrollRectangle.Height;
    

    MSDN

    【讨论】:

    • 谢谢,@Yahia - 在我的测试项目中,ScrollRectangle 的高度保持不变,无论是否存在滚动条。我在这里做错了吗?
    • @UweKeim 过去这对我来说效果很好......我现在无法测试它......我想这取决于正在使用的 Windows 和 IE 版本......
    猜你喜欢
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多