Winform程序在Win10下面界面布局混乱的情况
来源:互联网 发布:程序员证书考试时间 编辑:程序博客网 时间:2024/04/30 02:14
问题分析:
产生界面混乱的主要原因是,winform程序的坐标是基于点(Point)的,而Point又与DPI相关,具体就是
一英寸 =72Points
一英寸 = 96pixels96DPI是windows的默认DPI,当它被用户更改后,可能就会导致界面与设计之初产生了错乱。
在网上搜索相关资料后,试着将this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi 但是经实测后,发现仍然没有解决问题:有些界面甚至显示不全;有些控件甚至会被“截断”或完全不显示。
原因是:默认情况下winfrom的Font单位是Point,最终显示在界面上的尺寸将根据DPI设置自动变化,可以表示为公式: Point / 72 * DPI = Pixel 按照MSDN的解释,上述设置比较适合关心程序的可视区域及控件文字在不同的DPI下总是显示设计时的大小,而不用关心程序界面的绝对大小的情况。
解决办法:
后来想到web程序中的常用单位是像素(pixel),在不同的机器上也能很好地呈现网页布局。那么如果能在winform程序中也使用像素来定位,问题不就解决了吗?
的确,在winform中实现该计量单位非常简单,仅需要在Form的的构造函数中作如下设置即可:
private void InitializeComponent() { //设定按字体来缩放控件 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; //设定字体大小为12px this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); }
阅读全文
0 0
- Winform程序在Win10下面界面布局混乱的情况
- 在WinForm中,设置Visio控件的界面布局
- c#的WinForm界面布局
- c#的WinForm界面布局
- 解决Winform程序在不同分辨率系统下界面混乱
- 解决Winform程序在不同分辨率系统下界面混乱
- 在运行时切换 WinForm 程序的界面语言
- 在运行时切换 WinForm 程序的界面语言
- winform程序的界面框架
- win10写的程序在win7下面崩溃的问题 CLR20r3 MissingMethodException
- WinForm 界面布局
- WinForm界面布局
- web界面使用bootstrap布局混乱
- xib的view在控制器中布局混乱
- 解决Winform程序在不同分辨率系统下界面混乱问题
- winform 程序界面假死的处理
- WinForm程序的界面多语言切换
- html页面转成jsp页面后布局混乱的 1 种情况
- linux进程初识
- 大数据之始
- 设计模式(10) 迭代器模式--行为型
- scala final val 和 val 的区别
- 很炫酷的一些view,可以整合到项目里
- Winform程序在Win10下面界面布局混乱的情况
- c++入门教程(四)
- PHP AJAX Live Search详解
- 第一个博客
- 整理JavaScript中的各种字面量
- Elasticserch与Mysql实现数据同步
- JavaScript中判断数据类型的几种方法
- 最长回文子串 V2(Manacher算法)
- java 异常