如何有力地设置Windows窗体的高度?

时间:2015-09-03 06:40:07

标签: c# windows windows-forms-designer

我想在最大化表单时设置窗体高度。我用过Resize Event。 我最小化/恢复窗口时自动调整事件调用大小。 以下是我的代码。

int FormHeight = 260;
private void Form1_Resize(object sender, EventArgs e)
{
     this.height = FormHeight;
}

如果在屏幕上打开表单时更改了大小,则上面的代码工作正常。但是当我最小化表格时,表格高度是28px而我无法通过此更改它。高度= FormHeight;
我怎样才能强有力地指定this.height?

2 个答案:

答案 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