吧下面定位放到初始化InitializeComponent()的后面
panel1.Location=new Point((this.Width-panel1.Width)/2,(this.height-panel1.Height)/2)
如果你窗体带边框的话 this.Width 和this.Height实际上是连边框一起算进去的 ,再减掉就绝对居中了
觉得麻烦可以定义一个最底层的Panel 其他控件都放这个panel里,
比如
Panel mpanel=new Panel()
mpanel.Dock = DockStyle.Fill
this.Controls.Add(mpanel)
mpanel.Controls.Add(panel1)
panel1.Location=new Point((mpanel.Width-panel1.Width)/2,(mpanel.height-panel1.Height)/2)
这样就绝对居中了
获取当前屏幕分辨率->获取当前窗口大小->计算如果居中的话当前窗口的位置->给当前窗口位置赋值方法挺笨的,不过可以实现,代码如下,测试通过。
int height = System.Windows.Forms.SystemInformation.WorkingArea.Height
int width = System.Windows.Forms.SystemInformation.WorkingArea.Width
int formheight = this.Size.Height
int formwidth = this.Size.Width
int newformx = width / 2 - formwidth / 2
int newformy = height / 2 - formheight / 2
this.SetDesktopLocation(newformx, newformy)
winform要设置控件的位置有3种:1.控件的anchor属性属性,,瞄定。。。。你可以理解绑定在某个方向2.dock属性属性停靠。。。center值就是中间了3.设置控件的Loction属性,,该属性是设置控件相对窗体左上角的位置。。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)