如何重新调整窗体大小以在C#中包含其控件?

如何重新调整窗体大小以在C#中包含其控件?,c#,winforms,C#,Winforms,我是C#新手,我使用的是windows窗体 如screenshot所示,我有Form1,它有flowLayoutPanel1和ButtonCancel 加载Form1时,将按钮的数量添加到flowLayoutPanel1(按钮的数量正在更改,并且不是固定的) private void Form1\u加载(对象发送方,事件参数e) { 对于(int i=0;i而言,以下各项应适用 在表单上放置一个包含一列和两行的TableLayoutPanel 将TableLayoutPanel的Dock-属性

我是C#新手,我使用的是windows窗体

screenshot
所示,我有
Form1
,它有
flowLayoutPanel1
ButtonCancel

加载
Form1
时,将
按钮的数量添加到
flowLayoutPanel1
(按钮的数量正在更改,并且不是固定的)

private void Form1\u加载(对象发送方,事件参数e)
{

对于(int i=0;i而言,以下各项应适用

  • 在表单上放置一个包含一列和两行的
    TableLayoutPanel
  • TableLayoutPanel
    Dock
    -属性设置为
    Fill
  • TableLayoutPanel
    第一行的
    大小类型设置为百分比->100%
  • TableLayoutPanel
    第二行的
    大小类型设置为绝对->63像素
  • FlowLayoutPanel
    放在第一行内
  • 将取消按钮
放在第二行内
  • 表单
    表格布局面板
    流程布局面板
    自动调整大小
    -属性设置为
  • Form
    TableLayoutPanel
    FlowLayoutPanel
    AutoSizeMode
    -属性设置为
    GrowtandShrink

  • 如果启用停靠,则它将自动调整大小

    在这种情况下,流量布局面板可能不是最好的控制。简单停靠怎么样?
    Form.Height=numberOfButtons*63/*button Height*/;
    Set?您的意思是(1)按钮的数量事先未知,(2)按钮的大小必须固定,以及(3)用户无法调整表单的大小?@Alexander Petrov。我坐在表单1和布局窗格中进行放大和缩小,但没有任何变化,间隙仍然存在。我尝试过,但按钮是从左到右添加的。你知道如何从上到下添加它们吗?tnx将FlowLayoutPanel的
    FlowDirection
    设置为
    TopDown
    我尝试过正如你所说,所有的措辞都很好,但是第二行的取消按钮没有显示出来?有什么想法吗?TNX不确定,也许你没有正确地将其放入TableLayoutPanel中。
     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);
    
                }
     }