2011-08-26 17 views
2

동적 컨트롤이있는 TableLayout 패널을 채우는 동안 흔들림을 피하기 위해 winform 응용 프로그램에서 CreateParams 재정의를 사용하고 있습니다. 코드는 다음과 같습니다.동적 컨트롤 추가/제거에서 Winform, TableLayoutPanel 깜박임?

protected override CreateParams CreateParams 
    { 
     get 
     { 
      CreateParams CP = base.CreateParams; 
      CP.ExStyle = CP.ExStyle | 0x02000000; 
      return CP; 
     } 
    } 

이로 인해 내 CPU 사용량이 30 % 증가했습니다. 어쨌든이를 수정합니까? 또는 깜박임을 피하는 다른 방법이 있습니까?

+0

CreateParems가 오버라이드 된 MyButton : Button으로 코드를 시뮬레이션하고 있습니다. 글쎄,이 방법으로, 나는 창의 창을 시작하기 전에 예외 창 핸들 예외를 생성하고 있습니다. 나는 이것을이 오버 라이딩 된 방법으로 좁혔다. 이 방법이 없으면 양식에 내 맞춤 botton을 배치 할 수 있습니다. 나중에이 방법에 대해 자세히 살펴보십시오. – Zenwalker

답변

1

좋아, 여기에 버튼을 통해 0x02000000 값이 변경되었습니다. 값을 0x00000020으로 변경하면 작동하는 것처럼 보였습니다. 또는 전날 0x00000040도 효과가있었습니다. 그러나 귀하의 사용이 문제를 일으키는 원래의 가치. 그래서 그 값을 다시 확인하십시오.

1

코드를 읽고 유지하기가 어렵 기 때문에 16 진수 값을 사용하지 않을 것입니다.

여기에 명시된 바와 같이 :

http://msdn.microsoft.com/en-us/library/system.windows.forms.createparams.exstyle.aspx

상수가 윈도우 SDK와 함께 설치있는 Windows.h에 정의되어 있습니다, 당신은 할 수 있습니다 소스 코드에 해당 파일에서 해당 일정 스타일 정의를 복사하고 대신 이름을 사용 값.