C#如何使winform程序自适应屏幕分辨率显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何使winform程序自适应屏幕分辨率显示相关的知识,希望对你有一定的参考价值。

参考技术A 将Form的WindowState属性 设置为Maximized 就OK了 参考技术B form的属性windowsState 设置为 Maximized

同时控制form下的控件的dock属性(上下左右什么的),避免在分辨率放大或缩小时,位置偏移。

另外:注意控制一下form的属性 MaximumSize\MinimumSize,主要为了避免窗口太小时控件挤在一块看不见。

这样就差不多了,设置的属性不好使就都加在form的load里。本回答被提问者采纳
参考技术C 自适应分多种,你把你要的自适应说明一下。 参考技术D 1024x768的就可以 第5个回答  推荐于2018-03-01 在 .NET Framework 版本 2.0 中,通过对 Windows 窗体的自动缩放进行下列更改而克服了前面提到的缺陷:对缩放的基本支持已经移到 ContainerControl 类,这样窗体、本机复合控件和用户控件都会获得统一的缩放支持。此外,添加了 AutoScaleFactor、AutoScaleDimensions、AutoScaleMode 和 PerformAutoScale 这些新成员。 Control 类也拥有若干新成员,这些新成员允许该类参与缩放并支持在同一窗体上进行混合缩放。具体地说,是 Scale、ScaleChildren 和 GetScaledBounds 这些成员支持缩放。作为系统字体支持的补充,已经添加了建立在屏幕分辨率基础上的缩放支持,如 AutoScaleMode 枚举所定义。此模式与 .NET Compact Framework 支持的自动缩放是兼容的,这样更易于进行应用程序的迁移。与诸如 FlowLayoutPanel 和 TableLayoutPanel 等布局管理器的兼容性已经添加到自动缩放的实现中。缩放比例因子现在表示为浮点值,通常使用 SizeF 结构,这样实际上已经消除了舍入误差。

如何让网页在浏览器自适应屏幕大小?

想要网页宽度自适应,需要把网页元素宽度设置为百分比,还要在网页头部加上代码:<metaname="viewport"content="width=device-width,initial-scale=1.0"/>。

图片自适应,且不超过原始大小,需要设置最大宽度,代码如下:img width:100%; max-width:100%;。

改进功能

    浏览器首次使用时,根据用户显示分辨率大小决定是否默认显示收藏栏;

    打开多个标签关闭浏览器时,提示用户确认;

    搜索栏关键词提示;

    搜索栏支持多个搜索引擎;5.内核窗口resize速度

参考技术A 方法:
1、在网页头部加上这样一条meta标签:<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />

解释:
width=device-width :宽度等于设备屏幕的宽度
initial-scale=1.0:表示:初始的缩放比例
minimum-scale=0.5:表示:最小的缩放比例
maximum-scale=2.0:表示:最大的缩放比例
user-scalable=yes:表示:用户是否可以调整缩放比例
另外:如果想控制字体的大小的话,应该使用相对大小,可以用下面这段代码,一般不用也可,这里只是说明一种方法。
相对大小的字体
字体也不能使用绝对大小px,而只能使用相对大小em。
body font: normal 100% Helvetica, Arial, sans-serif;
上面的代码指定,字体大小是页面默认大小的100%,即16像素。
h1 font-size: 1.5em;
然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
small font-size: 0.875em;
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。

2、让网页适应不同的浏览器
浏览器的格局现在是两分天下,一分是IE,另一分是NetScape,在国内Ie有绝对的占有率,在这种情况下我们设计的网页只要兼容它就行了,但NetScape在国外还是有很多人使用,毕竟它是浏览器的元老。
虽然没有办法做出让所有浏览器都兼容的网站,但只要注意以下几点,做出来的网页在各个浏览器都中能达到比较好的显示效果:
a、不要混合使用层和表格排版,如果是父子关系,如层中表格,不在此原则范围内。
b、内联式的 CSS 在 Netscape Navigator 中经常会出现问题,使用链式或内嵌式。
c、有时需要在空层插入表格或者透明图片,以保证在 Netscape Navigator 里的效果。
d、对于只有几个像素宽度或高度的层,改用图片来实现。
e、避免使用 W3C 组织不推荐的排版属性,用 CSS 代替。
参考技术B 关于网站如何做到自适应网页,可根据如下操作:
首先,在网页代码的头部,加入一行viewport元标签。viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩 放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。
由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。
  “流动布局”的含义是,各个区块的位置都是浮动的,不是固定不变的。float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。
“自适应网页设计”的核心,就是CSS3引入的Media Query模块。它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
其次,除了布局和文本,”自适应网页设计”还必须实现图片的自动缩放。有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。
参考技术C

想要网页宽度自适应,需要把网页元素宽度设置为百分比,还要在网页头部加上代码: <meta name="viewport" content="width=device-width,initial-scale=1.0" />  。

图片自适应,且不超过原始大小,需要设置最大宽度,代码如下: img  width:100%;  max-width:100%;。

改进功能

    浏览器首次使用时,根据用户显示分辨率大小决定是否默认显示收藏栏;

    打开多个标签关闭浏览器时,提示用户确认;

    搜索栏关键词提示;

    搜索栏支持多个搜索引擎;5.内核窗口resize速度

以上是关于C#如何使winform程序自适应屏幕分辨率显示的主要内容,如果未能解决你的问题,请参考以下文章

C# winform 适应屏幕分辨率切换问题

winform 自适应屏幕分辨率具体操作和注意事项

c#winform太大安装到小屏幕电脑显示不全,怎么实现自动适应并显示所��

C# winform Label控件 已经自适应实现多行显示了 我现在要取出每行的文本 该怎么做? 求助! 多谢!

c#winform程序开发,不同屏幕尺寸,分辨率,界面 控件 显示问题

winform 控件自适应屏幕