在循环结束后显示迭代之间的睡眠时调整组大小

时间:2010-09-12 01:12:23

标签: c# winforms resize sleep groupbox

我制作新项目并对其进行简化以检查此错误是否真实,这是我的代码:

    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 个答案:

答案 0 :(得分:1)

我不知道GroupBox与TextBox或Panel的行为有什么不同的根本原因,但它可能与GroupBox用作容器控件但实际上并不从任何容器类型继承的事实有关。 Panel继承自ScrollableControl,它可能会添加一些额外的布局逻辑。

如果问题只是让它顺利发展,您可以在代码中添加groupBox1.Refresh();来完成此任务。