2011-09-29 3 views
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; 
     } 
    } 

: 여기

내가 쓴 코드입니다.

이 코드를 실행하면 상자가 깜박이고 크기를 변경하려고 시도하는 것처럼 보일 수 있지만 루프가 끝나지 않습니다.

감사합니다.

답변

0

상자가 항목 높이의 배수가 아닌 높이가 될 수 있으려면 IntegralHeight에서 false으로 설정해야합니다.

깜박임은이 컨트롤이 포함 된 double-buffer the form입니다.

+0

감사의 말 : checkedListBox1.IntegralHeight = false;를 추가했습니다. 믹스에 넣고 바로 잡았습니다. 매력처럼 작동합니다. 이제 더블 버퍼에 대해 알아 보겠습니다. –

+0

@Dark Falcon DataGridViewColumn은 어떻습니까? 크기를 부드럽게 변경할 수 있습니까? –

+0

@ DinoVelić의 경우, 'MinimumWidth'를 제외한 열 너비에는 제한이 없습니다. 더블 버퍼링은 여전히 ​​같은 방식으로 적용됩니다. –