VB WebBrowser1覆盖了控件

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:07:27
如图,浏览某些页时就出现那样的,有什么方法决解吗,谢谢

我也曾经遇到过这个困扰,这是我的处理方法,提供给你供参考:
在 WebBrowser1 的 DownloadComplete 事件中检测网页元素总个数,如果元素总个数发生了变化,第一次调用 Form_Resize 将控件宽度设置为比正常宽度稍少一点,然后再次调用 Form_Resize 将控件宽度设置为正常状态。
有关代码如下:

dim nCount As Long,nSmall as Boolean
Private Sub WebBrowser1_DownloadComplete()

Dim S As Long
On Error Resume Next
S = WebBrowser1.Document.All.length
If nCount = S Then exit sub
nCount = S
ctSmall = True: Call Form_Resize '将控件宽度缩小一点
ctSmall = False: Call Form_Resize '将控件宽度调整为正常状态
end sub

Private Sub Form_Resize()
Dim L As Long, T As Long, H As Long, W As Long
T=300
W = Me.ScaleWidth: H = Me.ScaleHeight - T
If ctSmall Then W = W - 30 '比正常宽度少 2 个像素
If H > 0 And W > 0 Then WebBrowser1.Move L, T, W, H
End Sub

另外,在显示新网页时,也就是调用 Navigate 方法前,应将变量 nCount 位为 0,如下所示:
nCount = 0
WebBrowser1.Navigate nURL