winform适应不同的分辨率_[C#](纯Winform)让UI适应不同分辨率

本文介绍了如何使Winform应用的UI适应不同分辨率。通过设置UI大小并根据当前分辨率进行动态调整,利用比例公式修改控件的位置和大小。对于容器内的控件,使用递归方式处理,确保所有组件都能正确适配。
摘要由CSDN通过智能技术生成

摘要:[C#](纯Winform)让UI适应不同分辨率

这是一项非常大的困扰,所以我把我找来的知识全部做个整理。

特别是针对Winform的部分,若是WPF建议使用ViewBox并且设定适合的模式。

大致的概念是这样:

Step 1: 将你的UI先固定大小,但实际操作还是依个人以及美工的复杂度(图片越复杂就要小心所谓的作用范围问题,以免图片重叠等等),像有的时候Label需要用AutoSize=true,有的则是false。

Step2:用程序取得现在的分辨率(显示器)

Step3:依照公式:你的UI大小除以现在的分辨率,来做UI的调整。

调整时要记得不只是大小改变,位置也要改变!

若是在容器里就用for抓每个组件,若容器里还有容器,则用递归的方式做处理。

范例以容器为Panel为例:string sHeight = SystemInformation.PrimaryMonitorSize.Height.ToString();

string sWidth = SystemInformation.PrimaryMonitorSize.Width.ToString();

double sw = Convert.ToDouble(sWidth);

double sh = Convert.ToDouble(sHeight);

double sizeX = sw / 1024;

double sizeY = sh / 768;

foreach (Control p in panel1.Controls)

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值