请教高手,sstab做的浏览器,在浏览网页时使用其他软件,然后重新回来的时候浏览器的内容改变了。具体如下:刚开始时:
打开了3个窗口,标题粗体化的第3个窗口是我正在使用的google
后来:
使用其它软件后再使用浏览器,发现tab自动切换到了第一个窗口
结果:
重新点开第3个窗口,发现内容已经变成了第1个窗口的,原来的内容即google界面被第1个窗口的百度界面取代
我做的浏览器设计时预先安排了10个tab,每个tab里面有一个webbrowser控件,启动时10个webbrowser控件全部都初始化,但是只显示第一个;使用时如果要增加窗口,就把tab的tabvisible属性设置为true。我的水平有限,目前只能这样做,暂时也不想改了。很想请教一下高手,怎么样才能在重新返回自己的浏览器时不发生浏览器内容发生改变的情况。我在form_resize事件里面使用了如下的语句,但是把这个语句去掉似乎还是会发生浏览器内容改变的情况。
    Dim intCheckFirstTab As Integer
    For intCheckFirstTab = 0 To SSTab1.Tabs - 1
            If SSTab1.TabVisible(intCheckFirstTab) = True Then
                SSTab1.Tab = intCheckFirstTab
                Exit For
            End If
    Next
哪位高手帮帮忙。先谢谢了!

解决方案 »

  1.   

     在form_resize事件里面的代码如下:
        On Error GoTo resizeerror
        Dim intCheckFirstTab As Integer
        Dim intBrowserIndex As Integer
        If blnFormLoading = True Then
            Do Until WebBrowser1(SSTab1.Tab).Busy = False        Loop
        End If
        StatusBar1.Width = Width - 120
        Frame1.Width = Me.Width - 9110 + 8295
        Combo1.Width = Me.Width - 2595
        cmdGo.Left = Width - 8910 + 8370 - 50
        cmdCopy.Left = Width - 8910 + 7410 - 250
        cmdPaste.Left = Width - 8910 + 7830 - 250
        SSTab1.Left = 0
        SSTab1.Top = 1140
        SSTab1.Width = Me.Width - 80
        SSTab1.Height = Me.Height - 2250
        For intBrowserIndex = 0 To WebBrowser1.UBound
            WebBrowser1(intBrowserIndex).Left = 0
            WebBrowser1(intBrowserIndex).Top = 310
            WebBrowser1(intBrowserIndex).Width = SSTab1.Width - 30
            WebBrowser1(intBrowserIndex).Height = SSTab1.Height - 320
        Next
        StatusBar1.Left = 0
        StatusBar1.Top = SSTab1.Top + SSTab1.Height
        StatusBar1.Panels(1).Width = StatusBar1.Width - StatusBar1.Panels(2).Width - StatusBar1.Panels(3).Width
        ProgressBar1.Top = SSTab1.Height + SSTab1.Top + 55
        ProgressBar1.Left = StatusBar1.Panels(2).Left - ProgressBar1.Width
        txtPercent.Left = ProgressBar1.Left - txtPercent.Width
        txtPercent.Top = ProgressBar1.Top
        For intCheckFirstTab = 0 To SSTab1.Tabs - 1
               If SSTab1.TabVisible(intCheckFirstTab) = True Then
                   SSTab1.Tab = intCheckFirstTab
                   Exit For
               End If
        Next
        Exit Sub
    resizeerror:
        If Width <= 3345 Or Height <= 2505 Then
        
        Else
            MsgBox Err.Description, vbSystemModal + vbCritical, "Form Resize Error"
        End If如果把粗体部分去掉,界面内容依然会改变,只是tab不会自动切换到第一个窗口而已。本来想让窗口自动切换到第一个窗口可能有用,发现还是不行。高手帮帮忙啊!