前段时间我问过this个问题。我得到了答案,它在时间上运作良好。但是现在,我试图做同样的事情但是没有工作。我有一个Form
和一个FlowLayoutPanel
设置与答案相同,但它不起作用。 Form
FLowLayoutPanel
已将AutoSize
设置为true,FlowDirection
设置为TopDown
,但表单正在垂直增长而不会向下推动progressBar
控件和label
本身。点击按钮几次后,我的表格就像我的表格一样(按钮的代码与我链接的链接中的已接受问题相同):
我错过了什么?
答案 0 :(得分:1)
试一下,看看它是否有效!
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);
}
答案 1 :(得分:0)
好的,我已经测试了你之前发表的帖子中建议的解决方案,它对我来说很好...... 测试这些东西:
确保Label和ProgressBar都位于FlowLayoutPanel内
如果您的意思是它水平增长< ----&gt ;,那么将FlowLayoutPanel的MaximumSize-Width设置为切换到新行之前的宽度(以及从那里垂直增长!)
否则请提供更多信息,以便我可以从那里帮助您。