изменить размер группового блока с режимом сна между итерациями, отображаемыми после окончания цикла - PullRequest
1 голос
/ 12 сентября 2010

Я создаю новый проект и упрощаю его, чтобы проверить, является ли эта ошибка реальной, и это мой код:

    private void button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < 10; i++)
        {
            groupBox1.Height += 1;
            Thread.Sleep(100);
        }
    }
    private void button2_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < 10; i++)
        {
            textBox1.Height += 1;
            Thread.Sleep(100);
        }
    }

Наденьте на форму 2 кнопки, groupBox и textBox, и посмотрите, как textBox плавно переключается междуитерации и groupBox изменяются после окончания цикла .Почему это происходит?

Я тестировал его на .NET 2.0 и 3.5 - тот же эффект.

1 Ответ

1 голос
/ 12 сентября 2010

Я не знаю основной причины, по которой GroupBox ведет себя не так, как TextBox или Panel, но это может быть связано с тем, что GroupBox используется в качестве элемента управления контейнера, но на самом деле не наследуется от каких-либо типов контейнеров.Panel наследуется от ScrollableControl, который может добавить некоторую дополнительную логику компоновки.

Если проблема заключается только в том, чтобы добиться плавного роста, вы можете добавить groupBox1.Refresh(); в свой код, чтобы выполнить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...