在循环结束后,在迭代之间显示带有睡眠的组件大小,在迭代之间显示睡眠

StackOverflow https://stackoverflow.com/questions/3693343

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

    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按钮,组框和文本框,观看文本框如何在迭代和组框之间平稳更改 更改之后 循环结束。为什么会发生这种情况?

我在.NET 2.0和3.5上测试了它 - 相同的效果。

有帮助吗?

解决方案

我不知道组盒与文本框或面板的行为不同的根本原因,但这可能与GroupBox用作容器控件但实际上并未从任何容器类型继承的事实有关。面板从ScrollableControl继承,它可能会添加一些其他布局逻辑。

如果担心只是使它变得顺利增长,您可以添加 groupBox1.Refresh(); 执行您的代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top