2016-09-08 3 views
3

msdn에서 나는이 발견의 WinForm 응용 프로그램에서 새 탭을 만들려면 :Controls.Add에 (tabPage) (tabPage)

string title = "TabPage " + (tabControl1.TabCount + 1).ToString(); 
TabPage tabPage1 = new TabPage(title); 
tabControl1.TabPages.Add(tabPage1); 

을하지만 Form1.cs를 [수동으로 탭을 추가 할 때 디자인] Visual Studio에서 자동으로 새 탭에 대한 Form1.designer.cs입니다이를 만듭니다

private System.Windows.Forms.TabPage tabPage1; 
this.tabPage1 = new System.Windows.Forms.TabPage(); 
this.tabControl1.Controls.Add(this.tabPage1); 

그래서, tabControl1.Controls.Add(tabPage1)tabControl1.TabPages.Add(tabPage1); 사이의 주요 차이점은 무엇입니까?

+1

전혀 차이 탭 페이지를 추가 제공하는 5 개 가지의 과부하이다. Forms/winforms/Managed/System/WinForms/TabControl.cs, 7bc75a420d7bf90b, 참조). 나는 입력 된'TabPage'리스트를 에뮬레이트하기 때문에 전자는 더 편리하다고 생각합니다. –

답변

3

차이는 없습니다. 위의 코드에서

public void Add(TabPage value) { 
    if (value == null) { 
     throw new ArgumentNullException("value"); 
    } 
    owner.Controls.Add(value); 
} 

에서, ownerTabPageCollection 소유 TabControl이다 : 여기 source code위한 TabPageCollection.Add 방법이다. [소스 (http://referencesource.microsoft.com/#System.Windows -

TabPageCollection 사용의 장점은 기본적 TabControl.

+0

클래스의 계약/행동을 설명하는 데 소스 코드 (구현)를 사용해서는 안됩니다. –

+0

@IvanStoev 증거로 사용했습니다.) –

+0

농담만으로도 동일한 의견을 입력했습니다. 반갑습니다, 잠시 동안 연락을하지 않았습니다 (저는 다른 지역으로 이사했습니다). 당신이 잘하고 있기를 바랍니다. –

관련 문제