Winform ClientSize exceeds screen dimensions after Maximize w/ no border
我正在使用此代码在正常的 WindowState(具有相当大的边框样式)和最大化(具有无边框样式)之间切换。
1
2 3 4 5 6 7 8 9 10 |
if (WindowState != FormWindowState.Maximized)
{ WindowState = FormWindowState.Maximized; FormBorderStyle = FormBorderStyle.None; } else { WindowState = FormWindowState.Normal; FormBorderStyle = FormBorderStyle.Sizable; } |
更改后我也在动态调整表单上一些控件的布局。我发现
是否有一种简单的方法可以确保表单不超过屏幕限制(除了手动检查屏幕大小并强制表单达到该大小)?
事实证明,通过颠倒最大化和边框样式更改操作的顺序可以解决。如果在最大化屏幕之前关闭边框,则表单
工作代码:
1
2 3 4 5 |
if (WindowState != FormWindowState.Maximized)
{ FormBorderStyle = FormBorderStyle.None; WindowState = FormWindowState.Maximized; } |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269541.html