c#初始化窗体居中
最近在完成在完成老师发的一个小练习时,用到了c#窗体的一些知识,同时也碰到了许多问题,来说说比较基础的吧。如何让初始化的
窗体居中
首先说一说创建的window窗体的基本属性,Designer.cs是设计winform的类,Login.resx用来存放资源,我放了一张图片来当背景。
Designer.cs是窗体初始化的代码,通过拖拽往winform里面添加控件n,代码都会生成在Designer.cs的
InitializeComponent()
,右键Desiner.cs
,点击查看代码。找到InitializeComponent类。
这里放的代码是我放的按钮和输入框的初始化。居中的代码是从网上找的来自另一位博友
int x = (System.Windows.Forms.SystemInformation.WorkingArea.Width - this.Size.Width) / 2;
int y = (System.Windows.Forms.SystemInformation.WorkingArea.Height - this.Size.Height) / 2;
this.StartPosition = FormStartPosition.Manual; //窗体的位置由Location属性决定
this.Location = (Point)new Size(x, y); //窗体的起始位置为(x,y)
这几句代码的意思是:首先设置Login窗体的x轴的位置,获取整个屏幕的工作区域的宽(像素为单位)减去窗体本身的宽度。剩下来的宽度就是除了窗体以外屏幕的宽度,除以2的位置永远都是屏幕中心的宽度。login窗体的y轴也是同理。FormStartPosition是窗体的位置是从哪开始,还有好几个属性,比如CenterParent在父类的中心。直接把这段代码放进
InitializeComponent()
方法里虽然不会报什么错,但是Designer.cs设计类里面会出错,原因是InitializeComponent()
的代码不能修改
机智的我把代码窗体初始化方法里面就解决了问题.
如果有别的方法欢迎分享!相信大家有更加方便的做法。