2012-02-04 70 views
3

在Windows窗体应用程序中使用WebBrowser control,我想要检索信息,无论当前是否显示水平滚动条。是否有可能查询WebBrowser控件水平滚动条是否可见?

例如我想创建一个功能/特性,让我们把它称为“HasHorzontalScrollbar”,要么返回truefalse

enter image description here

我试图用间谍++检查窗口,我试图读取大小从类似以下的窗口,但我仍然无法获得有意义的值:

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; 
    } 
} 

此作品在我的测试环境。

回答

2

尝试

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

看到MSDN

+0

谢谢,@Yahia - 在我的测试项目中,无论滚动条是否存在,ScrollRectangle的高度都保持不变。我在这里做错了什么? – 2012-02-04 15:08:12

+1

@UweKeim在过去,这对我来说工作得很好......我现在无法测试它......我想这取决于Windows和IE版本在玩什么...... – Yahia 2012-02-04 15:11:54

相关问题