c# winform 窗体基于分辨率自适应处理

代码参考资料:https://download.csdn.net/download/nbspzs/12535885

普通的winform属性需要设置一下,尽量不要继承Cskin第三方用的话设置【this.CanResize = true】:

c# winform 窗体基于分辨率自适应处理_第1张图片

绝大部分优先使用dpi好使,原始 有些font好使

 

c# winform 窗体基于分辨率自适应处理_第2张图片

 

label、button这些控件 autosize=true

 

如果winform中嵌入 usercontrol用户控件,那这个窗体需要设置:

c# winform 窗体基于分辨率自适应处理_第3张图片

 

load事件加载复制            
#region 计算dpi值
            float dpiX;
            Graphics graphics = this.CreateGraphics();
            dpiX = graphics.DpiX;

            switch (dpiX)
            {
                case 96f:
                    dpiValue = 1.0f;
                    break;
                case 120f:
                    dpiValue = 1.25f;
                    break;
                case 144f:
                    dpiValue = 1.5f;
                    break;
                case 168f:
                    dpiValue = 1.75f;
                    break;
                case 192f:
                    dpiValue = 2.0f;
                    break;
            }
            #endregion

针对有些长宽、坐标调整的 值*dpiValue

 

 

你可能感兴趣的:(c#)