2011-12-02 2 views
0

안녕하세요, 나는 menustrip에서 클릭하여 탭 페이지를 필터링 할 tabcontrol을 만드는 방법을 생각하고 있습니다.Winform menustrip 및 숨기기 탭

예 :

내 menustrip 양식 1 이며 내에서 TabControl 2

내 TabControl에 7 개의 탭으로 구성 형태이고, 나는 단지 1 탭을 한 번에 표시됩니다합니다.

예를 들어 menustrip에서 이름을 클릭하면 열거 나 새 양식이 표시되고 tabcontrol에는 이름 탭이 표시됩니다.

각 목록에 대해 diff 형식을 작성하는 것이 매우 긴 것처럼 보일 수 있기 때문에 가능한지 궁금합니다.

감사합니다.

+0

좋습니다. 아주 간단합니다. 정확히 무엇이 도움이 필요합니까? –

+0

이 문제에 어떤 구문을 사용해야할지 모르겠습니다. form1.menustrip을 사용하려고했지만 작동하지 않습니다. = _ = –

답변

1

문제는 TabPage 컨트롤에는 Visible 속성이 없습니다 (글쎄, 없지만 아무것도하지 않습니다). 따라서 마음대로 탭을 숨기거나 표시 할 수는 없습니다. 표시해서는 안되는 탭을 제거해야합니다.

당신은 다음과 같은 코드와 형태 (이름 TabbedForm)를 만들 수 있습니다 : 당신의 주요 형태로 다른 색인이있는 TabbedForm을 열 수있는 각 메뉴 버튼 (Clicked 이벤트)와

private readonly int _index; 

public TabbedForm(int index) 
{ 
    this._index = index; 
    InitializeComponent(); 
} 

private void form_Load(object sender, EventArgs e) 
{ 
    for (int index = this.tabControl1.TabPages.Count - 1; index >= 0; index--) 
    { 
    if (index != this._index) 
     this.tabControl1.TabPages.Remove(this.tabControl1.TabPages[index]); 
    } 
} 

.

+0

@rjtubera : 위의 사용자 의견 뒤에 마지막 문장 추가. 이 사실이 당신에게 명확한가요? –

+0

고맙습니다. 아주 많이 있습니다. GertArnold이게 정말 도움이 :) :)) –

0

예, 괜찮습니다. 그러나 나는 이것에 대해 기본 탭 뷰 컨트롤을 사용해야하며 문제가 발생하지 않아야한다고 생각한다.

+0

어떻게합니까? –

+0

지금 uptil을 수행 한 스냅 샷을 추가하고 코드도 지정하십시오. –

+0

이 것에 대한 튜토리얼에 대한 링크를 넣을 수는 없습니까? 나는 그것을 어떻게하는지 전혀 모른다. 나는 시작할 수 없었다. –