2010-01-29 3 views
3

그래서 지금은 왼쪽에 트리가 있고 오른쪽에 패널이있는 설정 화면을 만들고 있습니다. 화면의 패널은 선택된 트리 항목에 따라 달라집니다.C# 나중에 사용하기 위해 패널을 디자인하는 방법 .. (설정 화면)

나중에이 패널을 디자인하고 테마를 저장하여 나중에 (런타임) 사용하는 방법에 대해 궁금합니다.

코드를보고 코드를 그려 클래스 나 다른 것으로 복사해야합니까? 네,이 설정은 Visual Studio에서 발견되는 것과 같은 화면을 만들기 위해 찾고 있어요 -O

편집 : 내 질문이 조금 모호하지만 난 내가 원하는 걸 정말 모르겠어요 경우

죄송합니다 . 왼쪽의 트리 (탐색기와 유사 함)와 각 트리 노드의 새로운 양식 레이아웃.

+0

VS의 옵션 화면과 같은 것을 의미합니까? – t0mm13b

+0

패널에 무엇을 추가 하시겠습니까? –

답변

2

Panel 대신 UserControls를 만들면 디자이너에서 편집하기 쉽습니다. 트리보기를 왼쪽으로 도킹하고 다음과 같은 코드를 사용하여 활성 사용자 컨트롤을 선택하십시오.

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     treeView1.AfterSelect += new TreeViewEventHandler(treeView1_AfterSelect); 
    } 
    private UserControl mActivePanel; 

    void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { 
     UserControl newPanel = null; 
     switch (e.Node.Index) { 
      case 0: newPanel = new UserControl1(); break; 
      case 1: newPanel = new UserControl2(); break; 
      // etc... 
     } 
     if (newPanel != null) { 
      if (mActivePanel != null) { 
       mActivePanel.Dispose(); 
       this.Controls.Remove(mActivePanel); 
      } 
      newPanel.Dock = DockStyle.Fill; 
      this.Controls.Add(newPanel); 
      this.Controls.SetChildIndex(newPanel, 0); 
      mActivePanel = newPanel; 
     } 
    } 
} 
+0

안녕하세요, 답장을 보내 주셔서 감사합니다.하지만 여기서 무슨 일이 벌어지고 있는지 이해하는 데 약간의 어려움이 있습니다. 자세한 내용을 자세히 설명 할 수있는 링크를 제공하거나 제공해주십시오. 감사. – conor

+0

프로젝트에 UserControl을 추가하고 패널을 사용하지 마십시오. 나는 그 좋은 연결 고리를 생각할 수 없다. 내가 게시 한 코드는 AfterSelect 이벤트 핸들러에서 필요한 컨트롤을 사용자 컨트롤간에 전환하기위한 것입니다. 시도 해봐. –

관련 문제