1

私は新しいプロジェクトを作成し、このバグが本物かどうかを確認するためにそれを簡素化しました、そしてこれが私のコードです:

    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 でテストしましたが、同じ効果が得られました。

4

1 に答える 1

1

GroupBox が TextBox または Panel と異なる動作をする根本的な理由はわかりませんが、GroupBox がコンテナー コントロールとして使用されているが、実際にはどのコンテナー タイプからも継承されていないという事実に関係している可能性があります。Panel は ScrollableControl から継承します。これにより、レイアウト ロジックが追加される場合があります。

懸念事項がスムーズに成長することだけである場合は、groupBox1.Refresh();これを達成するためにコードに追加できます。

于 2010-09-12T02:10:04.350 に答える