2013-06-06 1 views
1

양식 다시 색 그라디언트를 설정하고 코드를 잘 작동하지만 문제는 다시 크기가 다음 큰 깜박임 발생합니다. 그래서 내가 어떻게 폼이 그라데이션 백 컬러를 가질 때 깜박임을 최소화 할 수 있는지 안내 해준다. 여기 내 코드 감사합니다.폼 그라디언트 배경 승화 및 크기 조정 C#

private void myform_Paint(object sender, PaintEventArgs e) 
     { 
      using (LinearGradientBrush brush = new LinearGradientBrush(this.ClientRectangle, 
                   Color.WhiteSmoke, 
                   Color.SteelBlue, 
                   90F)) 
      { 
       e.Graphics.FillRectangle(brush, this.ClientRectangle); 
      } 
     } 

     private void myform_Resize(object sender, EventArgs e) 
     { 
      this.Invalidate(); 
     } 
+0

시도 설정이 재산 'http://msdn.microsoft.com/en-us/library/system.windows.forms.control.doublebuffered.aspx을'DoubleBuffered – Blablablaster

답변

4

사용 더블 버퍼링 :

public myform() // Form constructor 
{ 
    InitializeComponent(); 
    DoubleBuffered = true; 
} 
+0

그라디언트 배경 및 양식 테두리 스타일이있는 양식을 표시 할 때 깜박임이 발생하지 않습니다. 나는 DoubleBuffered = true를 설정했다. 그러나 여전히 깜박임이 발생합니다. 국경없는 양식의 경우이 깜박임을 멈추는 방법을 알려줄 수 있습니까? thanks – Thomas

+0

1. 양식 배경으로 그라디언트가있는 비트 맵을 사용하십시오. (또는) 2. 양식에 그라디언트를 그리는 사용자 정의 컨트롤을 놓고 도킹 속성을 '채우기'로 설정합니다. –