我想在最大化表单时设置窗体高度。我用过Resize Event。 我最小化/恢复窗口时自动调整事件调用大小。 以下是我的代码。
int FormHeight = 260;
private void Form1_Resize(object sender, EventArgs e)
{
this.height = FormHeight;
}
如果在屏幕上打开表单时更改了大小,则上面的代码工作正常。但是当我最小化表格时,表格高度是28px而我无法通过此更改它。高度= FormHeight;
我怎样才能强有力地指定this.height?
答案 0 :(得分:0)
使用MaximumSize
属性。如果您只想限制高度,请使用它:
MaximumSize = new Size(Int32.MaxValue, 260);
答案 1 :(得分:0)
你做不到。当表单最小化时,它会因某些目的而停止存在 - 例如,它不再具有任何客户区域。这就是为什么表格高度为28px的原因 - 只有边界实际上存在"存在"。
这只是处理窗口渲染的复杂系统的一部分 - 当它被最小化时你无法绘制到表单,你无法捕获它的内容(记住,没有客户区......)
Raymond在他的博客上发表了关于该主题的精彩帖子 - 例如,Where did windows minimize to before the task bar was invented?和Why do minimized windows have an apparent size of 160x31?,以及Obtaining a window's size and position while it is minimized。