C#问题
这是我想要做的。当我单击一个按钮时,我希望复选框列表从say(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;
}
}
我已经使用这种编码来平滑地移动物体,但从不改变尺寸。
因此,当您运行此代码时,该框只是闪烁,似乎它试图改变大小,但它没有,并且循环永远不会结束。
谢谢!
答案 0 :(得分:0)
您需要将IntegralHeight设置为false
,以使该框的高度不是项目高度的倍数。
对于闪烁,你应该double-buffer the form包含这个控件。