VB.NET浏览器第5坑 网页不能随着窗口的最大化同步变大

如果点击窗体的最大化按钮,窗体虽然最大化了但是webbrowser并没有变大,可显示的网页的尺寸仍然是设计时设定的尺寸。我们期望的是webbrowser控件能跟随窗体一起变大变小

填坑:

不止是webbrowser需要根据窗体尺寸适配,地址栏、后退按钮等都需要动态调整位置。我使用的方法是:

定义一个专门适配尺寸的方法,根据窗体宽度(Me.Width)动态计算其中控件的尺寸:

Private Sub iniSize()
        Address.Width = Me.Width - 210
        WebBrowser1.Width = Me.Width - 18
        WebBrowser1.Height = Me.Height - 60
End Sub

其中的数字需要根据控件尺寸反复实验。

然后在两个入口调用这个方法:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        '......
       
        iniSize()

 '......
End Sub

Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles Me.Resize
        iniSize()
End Sub

现在webbrowser控件已经可以跟随窗体调整尺寸了,但是窗口默认打开还是小小的,需要手动点击最大化按钮,我们期望的是一打开程序就默认最大化。

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Me.WindowState = 2
      
       '其他代码
End Sub