0

C# の質問

これが私がやろうとしていることです。ボタンをクリックすると、チェックボックスリストのサイズが (200,10) から (200,100) にスムーズに変わります。瞬時に変化するサイズにすることには成功していますが、滑らかに見えるようにしたいです。

ここに私が書いたコードがあります:

    private void Form1_Load(object sender, EventArgs e)
    {
        timer1.Interval = 1;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        timer1.Enabled = true;
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        if (checkedListBox1.Height < 100)
        {
            checkedListBox1.Size = new Size(checkedListBox1.Size.Width, checkedListBox1.Size.Height + 1);
        }
        else
        {
            timer1.Enabled = false;
        }
    }

このコーディングを使用してオブジェクトをスムーズに移動しましたが、サイズを変更することはありませんでした。

したがって、このコードを実行すると、ボックスがちらつき、サイズを変更しようとしているように見えますが、実際には変更されず、ループは終了しません。

ありがとう!

4

1 に答える 1

0

ボックスがアイテムの高さの倍数ではない高さにできるようにするには、IntegralHeightをに設定する必要があります。false

ちらつきについては、おそらくこのコントロールを含むフォームをダブルバッファリングする必要があります。

于 2011-09-29T16:52:08.773 に答える