如何使c#桌面应用程序以任何屏幕分辨率运行?
我想在不同的屏幕分辨率上运行我的桌面程序如何使c#桌面应用程序以任何屏幕分辨率运行?,c#,C#,我想在不同的屏幕分辨率上运行我的桌面程序 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 Stoc
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 Stock {
public partial class Form1 : Form {
public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) {
this.Dock = DockStyle.Fill;
this.AutoSize = true;
this.WindowState = WindowState.maximized;
}
}
}
根据我使用Winform和WPF的经验,要使事情可扩展到大多数屏幕分辨率,应该使用某种网格或“流”布局 在Winforms中,这最好通过使用
TableLayoutPanel
控件来实现。布局面板允许您按百分比和绝对值分布间距(很像网页中的表格或div)
MSDN为此提供了一个很好的演练:
另一个选项是流布局。这类似于响应性设计的网站如何在垂直显示中“堆叠”元素,这些元素通常会并排放置在更宽的显示上。Winforms还有一个用于该布局的控件:
它的基本工作原理是,将布局控件放在窗体上。按照您希望的缩放方式配置布局,而不是将其他控件(按钮、文本框等)直接放在窗体上,而是将它们放在布局控件的“单元格”中
将
Dock=fill
应用于布局控件时,它将占据分配给它的整个区域(通常是表单本身)。然后,控件的位置将根据您设置布局控件的方式随窗体的大小进行缩放。您能显示您尝试过的内容和不起作用的内容吗?这不是一个代码编写服务。有一些很好的建议我在google上试用过,发现解决方案是“将表单的属性设置为Dock=Fill,AutoScroll=true,那么你的表单在不同的屏幕上会有相同的大小”这句话对我不起作用,然后我试图使windowsState最大化,这样窗体将占据全屏,它可以工作,但“按钮、面板、文本框等”等控件在窗体全屏打开时保持其大小,我可以给系统添加什么;使用System.Collections.Generic;使用系统组件模型;使用系统数据;使用系统图;使用System.Linq;使用系统文本;使用System.Threading.Tasks;使用System.Windows.Forms;命名空间Stock{public分部类Form1:Form{public Form1(){InitializeComponent();}私有void Form1_加载(对象发送方,事件参数e){this.Dock=DockStyle.Fill;this.AutoSize=true;this.WindowState=WindowState.maximized;}}}}将其编辑到您的问题中-不要在评论中留下它。感谢MutantInjacodemonkey帮助我它对我有效:)