C# Winform程序设计运行在高分屏下模糊解决办法

摘要:
于是上网寻求解决办法,网友给出的解决方案有以下3种:WinForm对高分屏的支持不好,用WPF程序设计可以解决该问题。更改程序的配置文件,在里面添加几行代码,使程序运行时自动检测屏幕分辨率,在高分屏时禁用系统缩放。但是第三种方案所说的添加代码是错误的,微软已经为我们考虑了很多,WinForm默认清单文件里已经加入了对禁用高分屏自动缩放的支持,只是被注释掉了,我们只需要去掉一个小小的注释符,就可以解决这个问题。

前段时间在开发一个坐标转换程序,开发环境是Windows10 64位专业版(V1803)和Visual Stuido 2015社区版,电脑屏幕是15.6英寸分辨率1920*1080,采用的是WinForm程序设计方法开发。在程序运行时遇到了这样一个问题,在Visual Studio设计的很清晰的菜单和界面,运行的时候菜单和控件上字体变得很模糊,界面大小也发生了变化。于是上网寻求解决办法,网友给出的解决方案有以下3种:

  1. WinForm对高分屏的支持不好,用WPF程序设计可以解决该问题。(这是一个可行的办法,但是短期内较好的掌握WPF,并用WPF技术重现实现软件不太现实)
  2. 更改窗体的AutoScaleMode属性为Font,并在窗体的构造函数中增加两行代码调整窗体上字体的大小。本人反复尝试,该方法行不通。
  3. 更改程序的配置文件,在里面添加几行代码,使程序运行时自动检测屏幕分辨率,在高分屏时禁用系统缩放。本人查阅了多个博客,其给出的代码都不可用,而且明显是从同一人处复制粘贴的,根本没有经过检验。

第三种方案的解决思路是正确的,就是要检测屏幕的分辨率,高分屏时禁用系统的缩放,因为现在Win10 高分屏默认字体放大125,这样会导致我们在程序中设计好的界面字体模糊。但是第三种方案所说的添加代码是错误的,微软已经为我们考虑了很多,WinForm默认清单文件里已经加入了对禁用高分屏自动缩放的支持,只是被注释掉了,我们只需要去掉一个小小的注释符,就可以解决这个问题。

以下是具体的步骤:

1.选择当前项目,单击鼠标右键,选择“添加”-“类”

C# Winform程序设计运行在高分屏下模糊解决办法第1张

2.选择应用程序清单文件

C# Winform程序设计运行在高分屏下模糊解决办法第2张

3.打开刚才建立的清单文件,找到下图中所示语句,删除红线框中的两行,然后保存再运行即可。

C# Winform程序设计运行在高分屏下模糊解决办法第3张

来自:https://www.cnblogs.com/zhangjiantao/p/9217233.html

免责声明:文章转载自《C# Winform程序设计运行在高分屏下模糊解决办法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转】NOR Flash擦写和原理分析第二百二十四节,jQuery EasyUI,ComboGrid(数据表格下拉框)组件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WinForm 创建与读写配置文件

1. 创建 app.config 文件:右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。 出现在设计器视图中的app.config文件为: <?xml version="1.0" encoding="utf...

.Net Framework 平台下创建WinForm窗体SignalR客户端

1、新建WinForm窗体应用程序, .Net Framework 平台 2、Nuget包安装 Microsoft.AspNetCore.SignalR.Client  3、修改Form1.Designer.cs 文件 partial class Form1 { /// <summary> ///...

[WinForm] TableLayoutPanel和FlowLayoutPanel的使用

这篇文章主要跟大家分享下,在配餐系统的开发中,对tableLayoutPanel 和 flowLayoutPanel 控件的使用方法和技巧 ——后附上 测试demo, 相信需要的朋友下载看后能很快的知道其如何使用并实现一些效果和扩展应用! tableLayoutPanel: 表格布局面板,适合以表格形式规则的动态添加(显示)控件。使用方法概述:1.将 ta...

如何用blend创建自定义窗口

1 意义        我们默认创建的窗口样式如下,时常会觉得这窗口太老套,从WINDOWS   98开始就这样,能不能做点改变?        答案是肯定的,下面就介绍如何创建自己的任意形状的窗口; 2 原理        在窗口上面绘制一个闭合图形(圆、path、图片、矩形等),然后设置WindowStyle为none,设置AlowsTranspar...

C# Winform实现炫酷的透明动画界面(转载)

本文转自:http://www.cnblogs.com/dskin/p/4606293.html 做过.NET Winform窗体美化的人应该都很熟悉UpdateLayeredWindow吧,UpdateLayeredWindow可以实现窗体的任意透明,效果很好,不会有毛边。不过使用这个API之后,会有一个问题就是无法使用普通控件,而且没有Paint消息。...

Winform开发框架之介绍

框架已经正式改名为:YESWin开发框架, 最新资料请前往:YESWinform 简介 - YES快速开发平台框架 (yesdotnet.com)  winform开发框架,尽量减少程序员在界面中的代码量和工作量,Model自动生成,界面以及控件自动生成,简单的逻辑自动生成。自动生成的界面已经实现简单逻辑增删改查功能。 其他开发框架都已经或多火烧实现了这些...