如何使 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)
我的任务是制作 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)