winform panel面板在窗体里居中

winform panel面板在窗体里居中,第1张

Panel panel1

吧下面定位放到初始化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属性,,该属性是设置控件相对窗体左上角的位置。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7890469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存