如何使 Web 浏览器网格响应 C# windows 表单

how to make a web browser grid responsive c# windows forms

我的任务是制作 4 个网络浏览器的布局,以后可以用于安全摄像头。

Web 浏览器部分很简单,但我一直坚持让它响应,因为当您 运行 它并最大化程序时,Web 浏览器的分辨率保持不变。由于此程序将 运行 显示在大平面屏幕上,因此它必须响应分辨率。

我在网上找遍了,还没有找到解决办法。我已经尝试过锚定,但是当我这样做并放大程序时,浏览器开始相互重叠。我试过将它们放在流网格和 table 网格中。我发现的其他东西是“this.AutoSize = true;”但我对 C# 表单有点陌生,不明白这一点。

有人能帮忙吗?

发生了什么的代码和几张照片
how it is now

what happens when enlarged

代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace webspace
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.Navigate("www.nos.nl");
            webBrowser2.Navigate("www.google.com");
            webBrowser3.Navigate("www.facebook.com");
            webBrowser4.Navigate("www.google.com/maps");
            this.AutoSize = true;
            
        }
        private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
        {
            this.Text = e.Url.ToString() + "is loading...";
        }

        private void webBrowser2_Navigating(object sender, WebBrowserNavigatingEventArgs e)
        {
            this.Text = e.Url.ToString() + "is loading...";
        }

        private void webBrowser3_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            this.Text = e.Url.ToString() + "is loading...";
        }

        private void webBrowser4_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            this.Text = e.Url.ToString() + "is loading...";
        }

        private void webBrowser2_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

        }

        private void webBrowser3_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

        }
    }
}

有两个 Orientation=Horizontal SplitContainer 的布局,在另一个 Orientation=Vertical 的 SplitContainer 中(反之亦然,两个垂直的一个在水平的两侧)

当表单调整大小时,适当地将所有 SplitContainer 的 SplitterDistances 设置为 width/height 的 50%。除非用户自定义它们(在这种情况下决定做什么,比如按比例调整大小,从而允许用户拥有比其他人更大的一些视图)

使 Web 浏览器控件 Dock=Fill 其面板

请注意,WebBrowser 控件现在已经很旧了,可能应该替换为 WebView2(Chrome-based Edge)