Winform 在高分变率显示器中窗体变模糊配置方式
我们知道 Winform 前身与 XP 系统 同一时代出生 , 那时候显示器还是LCD 和 大头机 ,显示器普遍 96 DPI 。 随着显示器质量改善,2K 屏, 4K屏普及,DPI 达 192 甚至更高。 原来winform 程序在 96 dpi 环境开发编译 程序 , 运行完好,在 192 dpi 下,布局可能会错乱 , 或者字看起来小很多 , 字体与边框线条缩放规则不协调等,因此微软提供配置 支持高低 分辨率布局兼容 方式如下:
1. 通过代码实现:
static class Program
{
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool SetProcessDPIAware(); /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); if (Environment.OSVersion.Version.Major >= 6)
SetProcessDPIAware(); Application.Run(new Form4());
}
}
2. 通过配置文件实现:
添加应用程序清单文件:

同时 启用如下配置:
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
app.config 中增加配置项:
<appSettings>
<add key="EnableWindowsFormsHighDpiAutoResizing" value= "true" />
</appSettings>
设置窗体模式:

这样让操作系统自动处理软件缩放,支持高清显示。
Winform 在高分变率显示器中窗体变模糊配置方式的更多相关文章
- Entity Framework入门教程(18)---EF6中基于代码进行配置方式
EF6中基于代码进行配置方式 我们以前对EF进行配置时是在app.config/web.config下的<entityframework>节点下进行配置的,EF6引进了基于代码的配置方法. ...
- 【转】Spring 中三种Bean配置方式比较
今天被问到Spring中Bean的配置方式,很尴尬,只想到了基于XML的配置方式,其他的一时想不起来了,看来Spring的内容还没有完全梳理清楚,见到一篇不错的文章,就先转过来了. 以前Java框架基 ...
- Spring 中三种Bean配置方式比较
今天被问到Spring中Bean的配置方式,很尴尬,只想到了基于XML的配置方式,其他的一时想不起来了,看来Spring的内容还没有完全梳理清楚,见到一篇不错的文章,就先转过来了. 以前Java框架基 ...
- Servlet的运行流程以及web.xml文件中的几种配置方式
Servlet的运行流程: 有俩种方式: 1.创建一个包,然后在包下创建一个class,class里面需要继承httpservlet,复写service方法------>配置web.xml文件: ...
- Spring中Bean的不同配置方式
Bean的配置方式一共分为三种: 1.基于XML(适用于第三方类库,无法在类中写注解以及写命名空间的配置等情况) 2.基于注解(适用于大部分情况) 3.基于Java类 以下是三种不同情况的配置方式 ...
- spring中aop以xml配置方式
1 引jar包 springAOP\aopalliance.jar springAOP\aspectjrt.jar springAOP\aspectjweaver.jar springAOP\spri ...
- Spring装配bean(在java中进行显式配置)
1.简单介绍 Spring提供了三种装配机制: 1.在XML中进行显式配置: 2.在java中进行显式配置: 3.隐式的bean发现机制和自动装配. 其中,1和3项在项目中经常使用,而在java中进行 ...
- C# WInForm中 窗体的this.width和this.height的属性值不能大于显示器的最大分辨率
最近在做一个小项目的时候,发现在 1680x1050 分辨率显示器上写的代码,将窗体的宽度和高度 设置成了 1600×900,在高于1600×900的分辨率上缩放显示很正常, 而后转移到 分辨率低于 ...
- C# winform中 窗体缩放自适应的方法(不同电脑/不同分辨率)
C# winform中 窗体缩放自适应的方法(不同电脑/不同分辨率) 窗体缩放是一个困扰我多时的问题,为了解决这个问题,我从网上找了很多相关的资料,很多人说用Anchor和Dock属性,但是我试了 ...
- [WinForm] 使用反射将业务对象绑定到窗体或控件容器
在WebForm中,可以使用反射将业务对象绑定到 ASP.NET 窗体控件.最近做Winform项目,也参考WebForm中的代码实现同样的功能. Winform没有提供类似WebForm中的 ...
随机推荐
- Protocol Buffers 3 学习
一.定义消息 1.首先看一个简单的例子: 1 syntax = "proto3"; 2 3 message SearchRequest { 4 string query = 1; ...
- 有趣的python库-tkinter
tkinter-GUI编程用 与pyqt.wxpython一样,python三大gui库之一,用来写图形化界面很有意思,下面举个整蛊小例子. 实现烦人的弹窗 import tkinter as tk, ...
- JZOJ 3184. 【GDOI2013模拟7】最大异或和
最大异或和 可持久化字典树经典题 题目网上自己找 来波模板 \(Code\) #include<cstdio> #include<iostream> using namespa ...
- 看完这一篇,ShardingSphere-jdbc 实战再也不怕了
谈到分库分表中间件时,我们自然而然的会想到 ShardingSphere-JDBC . 这篇文章,我们聊聊 ShardingSphere-JDBC 相关知识点,并实战演示一番. 1 ShardingS ...
- vue中h函数的使用
1. h() 函数是一个用于创建 vnode,其实在vue中是createVNode 函数的简写 h()函数接受三个参数 参数1. 标签名或组件 参数2. 标签的属性或事件 参数3. 内容使用: // ...
- CCProxy网络代理小试牛刀
CCProxy可以完成两项大的功能:代理共享上网和客户端代理权限管理.只要局域网内有一台机器能够上网,其他机器就可以通过这台机器上安装的CCProxy来代理共享上网,最大程度的减少了硬件费用和上网费用 ...
- ASP判断一个字符是否为汉字的两种方法
有的时候我们要求用户一定要输入汉字的信息,比如姓名和地址.那么,如何判断一个字符是不是汉字呢?其实在asp中至少有两种方法: 一.直接将某字符用asc转为ascii码,如果是英文,他应该是0-127的 ...
- EF Corexxxxnstance with the same key value for {'Id'} is already being tracked.
AsNoTracki或者全局禁用 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // ...
- IIS部署WGCMS
一.下载所需的微软程序文件 安装插件:下载后直接安装就可以了,没有什么好说的. 安装1:点击下载 安装2:点击下载 二.在IIS上添加应用程序池 打开IIS,按照图片所示:在"应用程序池&q ...
- pip 基本问题
pip语法错误 pip换源 更新错误 无模板 Ignoring警告 问题一 (pip语法错误 ) pip list File "<stdin>", line 1 pip ...