VB.NET 2008/VB - 컨트롤

컨트롤 레이아웃 - TableLayoutPanel을 사용하여 컨트롤 정렬

본클라쓰 2011. 4. 23. 09:52

TableLayoutPanel 컨트롤은 컨트롤의 내용을 표로 정렬한다.

 

레이아웃은 디자인 타임과 런타임에 모두 수행되므로 응용 프로그램 환경이 바뀜에 따라 동적으로 변경될 수 있다. 이러한 기능은 패널에 있는 컨트롤의 크기를 비율에 따라 조정해주기 때문에 부모 컨트롤의 크기가 조정되거나 지역화로 인해 텍스트 길이가 변경되는 등의 변경에 따라 컨트롤의 크기를 적절하게 변경할 수 있다.

 

TableLayoutPanel의 다른 인스턴스를 포함하여 모든 Windows Forms 컨트롤은 TableLayoutPanel 컨트롤의 자식이 될 수 있다. 이로 인해 런타임 변경 내용에 적합한 복잡한 레이아웃을 만들 수 있다.

 

TableLayoutPanel 컨트롤은 RowCount, ColumnCount GrowStyle 속성 값에 따라 새 컨트롤을 추가할 때 이를 수용하도록 확장될 수 있다. RowCount 또는 ColumnCount 속성 값을 0으로 설정하면 TableLayoutPanel이 해당 방향으로 바인딩 해제된다.

 

TableLayoutPanel에서 Anchor Dock 속성을 사용하여 컨트롤을 맞추고 늘일 수 있다.

 

 

TableLayoutPanel 컨트롤을 통해 Windows Forms에서 사용하기 전에 신중하게 고려해야 강력한 레이아웃 기능을 사용할 수 있다.

 

TableLayoutPanel 컨트롤은 꼭 필요한 경우에만 사용해야 하면 레이아웃의 크기를 조정해야 하는 아무 상황에서나 사용하면 안된다. 다음은 TableLayoutPanel 컨트롤을 사용하여 큰 효과를 볼 수 있는 레이아웃에 대해 설명한다.

 

- 여러 부분으로 구성되어 이러한 부분이 비례적으로 크기가 조정되는 폼의 레이아웃

- 기본 설정에 따라 추가되거나 삭제된 사용자 지정 가능한 필드가 포함된 데이터 입력 폼과 같이 런타임에 동적으로 수정되거나 생성될 레이아웃

- 전체 고정 크기로 유지되어야 하는 레이아웃. 예를 들어, 대화 상자를 800*600보다 작게 유지해야 하지만 지역화된 문자열을 지원해야 하는 경우

 

다음 목록은 TableLayoutPanel을 사용해도 큰 효과를 보지 못하는 레이아웃이다.

 

- 단일 레이블 열 및 단일 텍스트 입력 영역 열이 포함된 간단한 데이터 입력 폼

- 크기를 조정하면 사용 가능한 모든 공간을 채워야 하는 큰 단일 표시 영역이 포함된 폼.

 

 

TableLayoutPanel 컨트롤에 필요한 컨트롤을 주의해서 선택해야 한다. 앵커를 사용하여 30%씩 늘릴 수 있는 텍스트 공간이 있는 경우에는 Anchor 속성만 사용하는 것이 좋다. 레이아웃에 필요한 공간을 추정할 수 있는 경우 Dock 및 Anchor를 사용하는 것이 나머지 공간과 AutoSize 동작을 세부적으로 추정하는 거보다 쉽다.

 

일반적으로 TableLayoutPanel 컨트롤을 사용하여 레이아웃을 디자인할 때는 디자인을 가능한 한 단순하게 해야 한다.

 

TableLayoutPanel 컨트롤의 앵커 속성을 사용하여 컨트롤의 레이아웃을 지정하여 얻을 수 있는 효과는 다음과 같다.

 

 

다음 그림에서는 다섯 개의 셀에 고정된 다섯 개의 단추를 보여 준다.

 

 

다음 그림에서는 네 개의 셀에 모퉁이에 고정된 네 개의 단추를 보여 준다.

 

 

다음 그림에서는 세 개의 셀에서 고정시켜 늘어난 세 개의 단추를 보여 준다.