C# 自动下压控制装置不工作

C# 自动下压控制装置不工作,c#,winforms,label,autosize,C#,Winforms,Label,Autosize,不久前我问了一个问题。我得到了一个答案,当时效果很好。但现在,我也在尝试同样的方法,但没有效果。我有一个表单和一个FlowLayoutPanel设置方式与答案相同,但它不起作用。Form都有FLowLayoutPanel已将AutoSize设置为true,并将FlowDirection设置为top-down,但表单是垂直增长的,无需按下progressBar控件和标签本身。以下是我的表单在点击按钮几次后的样子(按钮的代码与我链接的链接中接受的问题中的代码相同): 我遗漏了什么?好的,我已经测试

不久前我问了一个问题。我得到了一个答案,当时效果很好。但现在,我也在尝试同样的方法,但没有效果。我有一个
表单
和一个
FlowLayoutPanel
设置方式与答案相同,但它不起作用。
Form
都有
FLowLayoutPanel
已将
AutoSize
设置为true,并将
FlowDirection
设置为
top-down
,但表单是垂直增长的,无需按下
progressBar
控件和
标签本身。以下是我的表单在点击按钮几次后的样子(按钮的代码与我链接的链接中接受的问题中的代码相同):


我遗漏了什么?

好的,我已经测试了您在之前的帖子中建议的解决方案,它对我来说运行良好。。。 测试这些东西:

  • 确保标签和进度条都位于FlowLayoutPanel内

  • 如果您的意思是它是水平增长的,那么在切换到新行之前,将FlowLayoutPanel的MaximumSize宽度设置为它可以有多宽(并从那里垂直增长!)

  • 否则,请提供更多信息,以便我可以从那里帮助你


  • 试试这个,看看是否有效

    public Form1()
    {
                InitializeComponent();
    
                Size = new Size(400, 150);
                AutoSize = true;
                AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly;
    
                FlowLayoutPanel panel = new FlowLayoutPanel();
                panel.Size = new Size(200, 150);
                panel.MaximumSize = new System.Drawing.Size(panel.Width, int.MaxValue);
                panel.FlowDirection = FlowDirection.TopDown;
                panel.AutoSize = true;
                panel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly;
                Controls.Add(panel);
    
                Label label = new Label();
                label.Text = "Starting text!\n";
                label.Padding = new System.Windows.Forms.Padding(0, 0, 0, 50);
                label.AutoSize = true;
                panel.Controls.Add(label);
    
                ProgressBar progressBar = new ProgressBar();
                progressBar.Location = new Point(0, 125);
                progressBar.Size = new Size(190, 25);
                panel.Controls.Add(progressBar);
    
                Button button = new Button();
                button.Location = new Point(275, 50);
                button.Text = "Click me!";
                button.Click += (object sender, EventArgs e) => { label.Text += "some more text, "; };
                Controls.Add(button);
    }
    

    你能把你测试过的工作项目发给我(上传到某个地方并在这里分享链接)吗?当时我接受了答案,但现在由于某种原因,它不再适用于我了。不知道发生了什么变化。这一行使它工作起来
    panel.MaximumSize=new System.Drawing.Size(panel.Width,int.MaxValue)谢谢!令人惊叹的!很高兴我能帮上忙:)