当前位置:
凯发ag旗舰厅登录网址下载 >
编程语言
> c#
>内容正文
c#
c# winform窗口自适应各种分辨率类 -凯发ag旗舰厅登录网址下载
凯发ag旗舰厅登录网址下载
收集整理的这篇文章主要介绍了
c# winform窗口自适应各种分辨率类
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1 近期做项目时,遇到开发的winform在自己电脑上可以正常显示,共享到其他电脑就事儿不能显示了:
2
3 1.当两个电脑分辨率相同时,无法显示完全,请检查form的autoscalemode属性是否为none,并设为none
4
5 2.分辨率不同时,可直接在form的构造函数中调用初始化函数之后, 加上一句autoresizeform. setformsize(this);(对于自定义控件usercontrol也适用)
6
7 public class autoresizeform
8
9 {
10 static float sh
11 {
12 get
13 {
14 return (float)screen.primaryscreen.bounds.height / properties.settings.default.y;
15 }
16 }
17 static float sw
18 {
19 get
20 {
21 return (float)screen.primaryscreen.bounds.width / properties.settings.default.x;
22 }
23 }
24
25
26
27
28 public static void setformsize(control fm)
29 {
30 fm.location = new point((int)(fm.location.x * sw), (int)(fm.location.y * sh));
31 fm.size = new size((int)(fm.size.width * sw), (int)(fm.size.height * sh));
32 fm.font = new font(fm.font.name, fm.font.size * sh,fm.font.style,fm.font.unit,fm.font.gdicharset,fm.font.gdiverticalfont);
33 if (fm.controls.count!=0)
34 {
35 setcontrolsize(fm);
36 }
37 }
38
39
40 private static void setcontrolsize(control initc)
41 {
42 foreach (control c in initc.controls)
43 {
44 c.location = new point((int)(c.location.x * sw), (int)(c.location.y * sh));
45 c.size = new size((int)(c.size.width * sw), (int)(c.size.height * sh));
46 c.font = new font(c.font.name, c.font.size * sh, c.font.style, c.font.unit, c.font.gdicharset, c.font.gdiverticalfont);
47 if (c.controls.count != 0)
48 {
49 setcontrolsize(c);
50 }
51 }
52 }
53 }
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的c# winform窗口自适应各种分辨率类的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇:
- 下一篇: