Пуш вниз управления автоматически не работает

Некоторое время назад я задал этот вопрос. Я получил ответ, и он работал нормально во время. Но сейчас я пытаюсь сделать то же самое, но не работает. у меня есть 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);
}

Хорошо, я протестировал решение, предложенное в предыдущем посте, который вы сделали, и оно отлично работает для меня... Протестируйте эти вещи:

  1. Убедитесь, что Label и ProgressBar расположены внутри FlowLayoutPanel

  2. Если вы имеете в виду, что он растёт по горизонтали <---->, то установите MaximumSize-Width FlowLayoutPanel на то, насколько он может быть широким, прежде чем переключаться на новую строку (и оттуда расти вертикально вместо этого!)

  3. В противном случае, пожалуйста, предоставьте больше информации, чтобы я мог помочь вам оттуда.

Другие вопросы по тегам