2010-05-28 1 views
0

몇 가지 조건에 따라 GUI가 변경되는 애플리케이션을 작성하고 있습니다. 나는 이것을 Qt4에서 구현했고 내부적으로 QStackWidget을 사용했다. (기본적으로 이것은 한 번만 볼 수있는 일련의 컨트롤이다.)Tab이없는 탭 컨트롤 (C#의 QStackWidget)

현재 TabControl을 사용하고 있습니다. C#의 대안은 무엇입니까?

는 편집 :

나는 QStackWidget를 사용하여 한 QT4 응용 프로그램을 썼다. 이제 C#에서 동일한 응용 프로그램을 다시 작성하고 있습니다. 공유되는 코드가 없으며 다른 응용 프로그램입니다.

+0

QT를? 운영 체제 및 프레임 워크 버전을 적어 두는 것이 좋습니다. –

답변

0

QStackWidget처럼 작동하는 내장 컨트롤을 모르지만 Panel을 상속하고 내부 컨트롤에 하위 컨트롤을 유지하며 "현재"컨트롤을 추적하는 클래스를 작성할 수 있습니다. NextPage, PreviousPage, SetPage 등과 같은 편리한 메소드를 추가하여 원하는 자식 컨트롤을 표시하고 나머지를 숨길 수 있습니다.

+0

괜찮지 만 제어판 대신 일반 컨트롤을 사용하지 않는 이유는 무엇입니까? – elcuco

+0

특별한 이유가 없어도 콘테이너를 만들 때 상속받는 컨트롤 일뿐입니다. 어느 쪽이든 제대로 작동합니다. – allonym

0

당신이 윈폼 (C#을) 당신이있는 TabControl에서 상속 자신의 컨트롤을 만드는이 추가 할 수 있습니다 사용하는 경우 : C#을에서

public partial class TablessControl : TabControl 
    { 
     protected override void WndProc(ref Message m) 
     { 
      // Hide tabs in RunTime mode 
      if (m.Msg == 0x1328 && !DesignMode) 
      { 
       m.Result = (IntPtr)1; 
      } 
      // Hide tabs in DesignMode 
      else if (m.Msg == 0x1328 && DesignMode) 
      { 
       m.Result = (IntPtr)1; 
      } 
      else 
      { 
       base.WndProc(ref m); 
      } 
     } 
    }