2013-06-11 15 views
1

나는 TabPage을 포함하는 TabControl이 있고 다른 TabPages는 이벤트에 따라 동적으로 추가됩니다. TableLayoutPanel 첫째하지만 빈과 동일 TabPage을 만들어 모든 새로운 새로운 TableLayoutPanel을 추가 할 수있는 기회가있다C에서 프로그래밍 방식으로 TableLayoutPanel 만들기

첫 번째 TabPage는 TableLayoutPanel 포함되어 있으므로 궁금?

또는 다른 말로하면 프로그래밍 방식으로 TableLayoutPanel을 만들 수 있습니까?

+0

TLP는 약간 힘들고 디자이너에서 사용하기 쉽게 설계되었습니다. 자신의 코드에서 "사용하기 쉽다"와 동일한 것은 아닙니다. 코드를 얻는 가장 좋은 방법은 실제로 디자이너를 사용하고 코드의 Designer.cs 파일을 살펴 보는 것입니다. 중요한 비트를 복사/붙여 넣기하십시오. –

답변

1

컨트롤을 프로그래밍 방식으로 만들 수 있습니다 (예 : TableLayoutPanel). 실제로 디자이너 컨트롤을 사용하는 경우 프로그래밍 방식으로 만들어집니다. 코드는 Visual Studio에서 생성됩니다.

TableLayoutPanel 컨트롤을 만들고 모든 속성 (행, 열 등)을 설정하기 만하면됩니다. 그런 다음 새 탭 페이지의 Controls 속성에이 컨트롤을 추가

TabPage page = new TabPage("Another page"); 
page.Controls.Add(new TableLayoutPanel { Dock = DockStyle.Fill}); 
tabControl1.TabPages.Add(page); 

또 다른 옵션을 이미 TableLayoutPanel를 구성 당신이 user control을 만드는 위해. 이 경우 새 사용자 정의 컨트롤을 만들어 탭 페이지에 추가하기 만하면됩니다.

또한 지정된 행, 열 및 기타 설정으로 사용자 정의 TableLayoutPanel을 만들 수 있습니다. 예 : 이 컨트롤에는 미리 정의 된 높이가 25 %와 75 % 인 두 행이 있습니다.

public class CustomTableLayoutPanel : TableLayoutPanel 
{ 
    public CustomTableLayoutPanel() 
    { 
     RowStyles.Clear(); 
     RowStyles.Add(new RowStyle(SizeType.Percent, 0.25F)); 
     RowStyles.Add(new RowStyle(SizeType.Percent, 0.75F)); 
     BackColor = Color.Beige; 
    } 
} 
관련 문제