WinForm窗体自适应分辨率】的更多相关文章

我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比例变化即可.因为窗体上控件的位置和大小是相对于自己所在的窗体的,也就是所谓的窗口坐标. 在这里我们只考虑相对于自己窗体的窗口坐标更简单,也就是成比例变化.为了多个窗体共用,我在这里创建一个类AutoSizeFormClass ,1.使用它去记录窗体和其控件的初始位置和大小,2.判断窗体中的控件是否为容器控件,如果…
前言 在使用 Winform 开发过程中,经常发些因为显示器分辨率.窗体大小改变,控件却不能自适应变化,几经查找资料,和大佬的代码.经过细小修改,终于可以让窗体在外界影响下,窗体内背景图片.控件都会自适应变化大小(类似于网页的响应式). 代码 完整代码如下: using System; using System.Drawing; using System.Windows.Forms; namespace AutoSizeForm { public partial class FrmMain :…
原文:https://www.cnblogs.com/gguozhenqian/p/4288451.html 需要添加引用System.Windows.Forms public class AutoSizeFormClass { //(1).声明结构,只记录窗体和其控件的初始位置和大小. public struct controlRect { public int Left; public int Top; public int Width; public int Height; } //(2)…
1.添加一个类class AutoSizeFormClass { //(1).声明结构,只记录窗体和其控件的初始位置和大小. public struct controlRect { public int Left; public int Top; public int Width; public int Height; } //(2).声明 1个对象 //注意这里不能使用控件列表记录 List nCtrl;,因为控件的关联性,记录的始终是当前的大小. // public List oldCtrl…
使用WPF创建一个窗体(Window)时,如果设置了固定的高度(Height)和宽度(Width),一旦用户的电脑分辨率过低,就会使得窗体及其中的内容无法完整地显示出来.要解决这个这个问题,有以下几个方法可供参考: 1.无论将窗体做成全屏的(WindowState="Maximized"),还是设置了固定的窗体大小,都可以利用DockPanel控件来进行布局.DockPanel控件有一个特殊的属性:LastChildFill="True",可以使该控件中的最后一个元…
自己写的winform窗体自适应大小代码,代码比较独立,很适合贴来贴去不会对原有程序造成影响,可以直接继承此类或者把代码复制到自己的代码里面直接使用 借鉴了网上的一些资料,最后采用重写WndProc方法,这样可以兼顾窗体拖拽调整窗体大小和最大化.最小化方法,而且代码比较简练,代码侵入性较小 using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using Sys…
C# WinForm窗体及其控件自适应各种屏幕分辨率 一.说明  我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比例变化即可.因为窗体上控件的位置和大小是相对于自己所在的窗体的,也就是所谓的窗口坐标.  在这里我们只考虑相对于自己窗体的窗口坐标更简单,也就是成比例变化.为了多个窗体共用,我在这里创建一个类AutoSizeFormClass ,1.使用它去记录窗…
3步骤: 1.在需要自适应的Form中实例化全局变量   AutoSizeFormClass.cs源码在下方 AutoSizeFormClass asc = new AutoSizeFormClass(); 2.Form_Load事件中   asc.controllInitializeSize(this); 3.Page_SizeChanged事件中 asc.controlAutoSize(this); AutoSizeFormClass.cs源码如下: class AutoSizeFormCl…
一.说明 2012-11-30 曾经写过 <C# WinForm窗体及其控件自适应各种屏幕分辨率>  ,其中也讲解了控件自适应的原理.近期有网友说,装在panel里面的控件,没有效果? 这是控件嵌套的问题,加入即可实现.使用皮肤时,要注意在窗体Load事件中,有些控件(比如DataGridView)的子控件还没有完成,在这里记录控件的个数比较少,而在窗体SizeChanged事件中获取的比较多(是正常的). 解决的方法是,记录控件的初始位置和大小以及处理控件的缩放,都放到窗体SizeChang…
在窗体依据屏幕分辨率自适应调整尺度方面,昨天的工作可以说是一个突破点.昨天的工作找到了长期以来我的原有方案的问题所在,这是非常关键的.但是昨天晚上的解决方案并不完美,今天的这个才是比较完美的解决版. 先补充说明一下这个问题的重要性.这本来只是一个很小的技术问题,但在现有的Windows软件开发过程中,这个问题非常常见.一些非常著名的商业化软件,也会发现这方面的问题.Delphi的IDE本身在不同屏幕分辨率的机器上运行时,有些界面也会出现变形和控件找不到的情况:Adobe是家软件大公司,他的PDF…