2014-12-01 2 views
0

간단한 프로그램을 만들었으니 이제는 설계 작업 단계에 있습니다. 나는 "탭"(예 : 로그인 화면의 경우 1 패널, 계정 만들기 화면의 경우 1 패널) 사이를 전환 할 수 있도록 여러 개의 패널을 표시합니다. 이제는 컨테이너를 컨트롤로 빠르게 이동하고 버튼을 만들 수 있기 때문에이 패널을 보이지 않게 만들었습니다.투명 패널을 사용하여 깜박임

제 문제는 제 양식 배경 이미지를 내가 만든 이미지로 설정했기 때문입니다. 포토샵 그리고 패널 사이를 전환 할 때마다 깜박입니다. 시스템 색상 (흰색, 검은 색)을 사용할 때마다 이런 일은 발생하지 않습니다. 깜박임을 제거 할 수있는 방법이 있습니까?

나는 시도했다 :

  • 는 OnPaint를, CreateBackground 및 Createparam을 overrideing 보호 진정한
  • 로 더블 버퍼를 설정

내 코드는 매우 기본적인 :

private void btnNewAcc_Click(object sender, EventArgs e) 
    { 
     PanelNewAccount.Visible = true; 
     PanelLogin.Visible = false; 
    } 
+0

코드를 보지 않고 더블 버퍼 패널 하위 클래스를 사용하는 것이 좋습니다 – TaW

답변

0

감사합니다 도움이 될 것입니다 당신에게 그래픽을 DoubleBuffering 많은 시간, 을 끌기 위해 노력하고 있기 때문에 사라져 발생 'm TabControl 사용하여 각 탭에 같은 배경을 할당했습니다. 동적 버튼도 쉽게 추가 할 수 있습니다. 패널과 기능이 동일하지만 깜박임이 없습니다.

0

DoubleBuffered 폼 속성을 true로 설정하려고 시도하십시오. 보통 깜박임을 winforms하십시오. GDI +가 패널 전을 사용하는 대신 컨트롤 (들) 난 내 문제를 해결했습니다 그래서 이러한 경우에 패트릭에

form.DoubleBuffered = true; 
+0

죄송합니다. 게시물을 편집하는 중이었습니다. 이미 시도했지만 아무런 효과가 없습니다. 두렵지 않습니다. – BornToGrill

+0

@BornToGrill이 있습니다. TabControl 사용하여 시도한?, 테스트 응용 프로그램에서 동일한 접근 방식을 사용하고 깜박하지 않았다 – Patrick

+0

내가 어떻게 그것을 substitude 사용할 수 있는지, 정말 TabControls 사용하지 않은 있지만 어떻게 찾을 수 없습니다. 그것을 투명하게, 나는 그것이 내가 동적으로 버튼을 추가 할 수 있는지 확신 할 수 없다. – BornToGrill