WebBrowser控件是否可以查询水平滚动条是否可见?

4
在我的Windows Forms应用程序中使用WebBrowser控件,我想要检索信息,即当前是否显示水平滚动条。
例如,我想创建一个函数/属性,称之为"HasHorzontalScrollbar",它将返回truefalse

enter image description here

我尝试使用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;
    }
}

这在我的测试环境中可以运行。

1个回答

3
尝试
var height = webBrowser1.Document.Body.ScrollRectangle.Height;

请参见MSDN

谢谢,@Yahia - 在我的测试项目中,无论是否存在滚动条,ScrollRectangle的高度始终保持不变。我在这里做错了什么吗? - Uwe Keim
1
@UweKeim 在过去这对我来说一直很好用... 我现在无法测试它... 我想这取决于使用的Windows和IE版本... - Yahia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接