我制作新项目并对其进行简化以检查此错误是否真实,这是我的代码:
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上测试过它 - 效果相同。
答案 0 :(得分:1)
我不知道GroupBox与TextBox或Panel的行为有什么不同的根本原因,但它可能与GroupBox用作容器控件但实际上并不从任何容器类型继承的事实有关。 Panel继承自ScrollableControl,它可能会添加一些额外的布局逻辑。
如果问题只是让它顺利发展,您可以在代码中添加groupBox1.Refresh();
来完成此任务。