繁体   English   中英

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

[英]How to re-size a form to contain its controls in C#?

截图

我是C#的新手,正在使用Windows窗体。

screenshot所示,我有Form1 ,其中有flowLayoutPanel1ButtonCancel

加载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上
  • TableLayoutPanelDock属性设置为Fill
  • TableLayoutPanel第一行的Size-Type设置为TableLayoutPanel > 100%
  • TableLayoutPanel第二行的Size-Type设置为Absolute-> 63 Pixel
  • FlowLayoutPanel放在第一行中
  • 将取消Button放在第二行内
  • FormTableLayoutPanelFlowLayoutPanelAutoSize属性设置为True
  • FormTableLayoutPanelFlowLayoutPanelAutoSizeMode属性设置为GrowAndShrink

如果启用对接,它将自动调整大小

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM