[英]How to re-size a form to contain its controls in C#?
我是C#的新手,正在使用Windows窗体。
如screenshot
所示,我有Form1
,其中有flowLayoutPanel1
和ButtonCancel
。
加载Form1
时, buttons
数量会添加到flowLayoutPanel1
(按钮的数量正在更改,并且不是固定的)。
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i <= 1; i++)
{
Button btn = new Button();
btn.Name = i.ToString();
btn.Width = 104;
btn.Height = 63;
btn.FlatStyle = FlatStyle.Popup;
flowLayoutPanel1.Controls.Add(btn);
}
}
问题:
问题是我要消除一个缝隙,为此我必须根据所添加buttons
的数量减小Form1
Height,但是我不知道如何根据所添加buttons
的数量来调整Form1
Height的大小。
例如,如果添加了2个buttons
,我希望Form1
缩小以适合2个buttons
,如果添加8个buttons
,我希望Form1
扩展以适合8个buttons
而又不留间隙。
是否有任何Form
property
允许Form1
根据添加的buttons
数量进行扩展和收缩?
谢谢
以下应该工作
TableLayoutPanel
放在Form上 TableLayoutPanel
的Dock
属性设置为Fill
TableLayoutPanel
第一行的Size-Type
设置为TableLayoutPanel
> 100% TableLayoutPanel
第二行的Size-Type
设置为Absolute-> 63 Pixel FlowLayoutPanel
放在第一行中 Button
放在第二行内 Form
, TableLayoutPanel
和FlowLayoutPanel
的AutoSize
属性设置为True
Form
, TableLayoutPanel
和FlowLayoutPanel
的AutoSizeMode
属性设置为GrowAndShrink
如果启用对接,它将自动调整大小
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.