2012-07-23 4 views
3

저는 C#으로 UI를 디자인하려고합니다. Java 배경에서 왔으며 Java의 다른 레이아웃 관리자에게 익숙합니다.C#의 레이아웃 관리자

그럼 내가하려는 일은 다음과 같습니다.

나는 창을 가지고 있습니다. 이 창에서 컨트롤을 하나씩 추가하고 싶습니다. Java에서는 BoxLayout (Y 축)을 사용한 다음 컨트롤을 추가했을 것입니다. 또한 개별 컨트롤/컨테이너는 개별 컨테이너마다 다른 레이아웃을 사용하여 추가로 사용자 정의 할 수있었습니다.

C#에서 어떻게합니까? 내가해야 할 일은

은 다음과 같습니다

1) 컨트롤을 다른 아래 하나를 추가합니다. 각각의 개별 컨트롤은 작은 컨트롤 모음 일 수 있습니다. 자신의 레이아웃을 가질 수

Control 1 here 
Control 2 here 
Control 3 here 

각 제어, 등등 X 축에 BoxLayout에서는 말과 :

그래서 내가 가질 수있는 것은 같은 것이있다. 어떻게해야합니까?

추신 : WINFORMS를 사용하고 있습니다.

+0

WinForms 또는 WPF 응용 프로그램을 구축하고 있습니까? 이것에 대한 답변은 상당히 다를 것입니다. –

+1

"C# vs Java"는 문제가 아닙니다. 그것은 WPF 대 WinForms의 문제입니다. WPF에 대한 Microsoft의 소개는 다음과 같습니다. http://msdn.microsoft.com/en-us/library/ms752299.aspx 참고 : http://www.wpftutorial.net/LayoutProperties.html – paulsm4

+0

winforms 또는 wpf? – Rafal

답변

3

나는 당신이 WinForms를 만들고 있다고 찔렀다. 그리고 자바 레이아웃 관리자와 비슷한 다음 컨트롤을 보도록 권한다.

  • 패널
  • FlowLayoutPanel
  • TableLayoutPanel

패널은 사용자가 임의로 내에서 컨트롤을 배치하고, 각 자식 컨트롤의 위치를 ​​독, 앵커 및 위치 속성을 사용하게됩니다.

FlowLayoutPanel은 흐름을 'TopDown'으로 설정하면 요청한대로 처리하지만 모든 것은 왼쪽 맞춤으로 바뀌며 변경할 수 없습니다.

TableLayoutPanel이 내가 가장 유용 할 것입니다. 1 열로 패널을 만들고 각 컨트롤을 한 행에 추가하십시오. 내 생각에 BoxLayout에 가장 근접한 행을 제공하기 위해 행을 내용에 맞게 자동으로 설정할 수 있습니다.

+0

자바와 같이 상자 레이아웃이 표시되지 않습니다. WIll TableLayoutPanel가 트릭을합니까? 나는 Boxlayout과 같은 것을 원한다. – Nikhil