Пуш вниз управления автоматически не работает
Некоторое время назад я задал этот вопрос. Я получил ответ, и он работал нормально во время. Но сейчас я пытаюсь сделать то же самое, но не работает. у меня есть Form
и FlowLayoutPanel
устанавливается так же, как ответ, но он не работает. И то и другое Form
имеет FLowLayoutPanel
установил AutoSize
к истине и FlowDirection
установлен в TopDown
но форма растет вертикально, не опуская progressBar
контролировать и label
сам. Вот как выглядит моя форма после нажатия кнопки несколько раз (код кнопки такой же, как в принятом вопросе по ссылке, которую я привел):
Что мне не хватает?
2 ответа
Попробуйте это и посмотрите, работает ли это!
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);
}
Хорошо, я протестировал решение, предложенное в предыдущем посте, который вы сделали, и оно отлично работает для меня... Протестируйте эти вещи:
Убедитесь, что Label и ProgressBar расположены внутри FlowLayoutPanel
Если вы имеете в виду, что он растёт по горизонтали <---->, то установите MaximumSize-Width FlowLayoutPanel на то, насколько он может быть широким, прежде чем переключаться на новую строку (и оттуда расти вертикально вместо этого!)
В противном случае, пожалуйста, предоставьте больше информации, чтобы я мог помочь вам оттуда.