2009-06-07 7 views
2

간단한 탭 인터페이스 앱을 만들고 싶습니다. 이전에 WPF에서 각 탭 내부의 usercontrol을 사용하여이를 수행했으며, 부모 요소 (폼 또는 탭 컨트롤)를 검색하는 주 폼과 comunicate했습니다.C의 탭 사용자 인터페이스

어떻게하면 WinForms에서 동일한 항목을 만들 수 있었습니까? 어떤 요소를 각 탭 안에 넣어야합니까?

감사합니다.

답변

8

winforms 응용 프로그램에서 거의 동일한 접근 방식을 사용할 수 있습니다. 폼의 TabControl의 탭 페이지에 사용자 정의 컨트롤을 추가 할 수 있습니다. 사용자 컨트롤 코드 안에 FindForm 메서드를 사용하여 부모 폼을 유지할 수 있습니다.

그러나 이벤트 대신 주변 컨트롤에 의존하지 않으려면 이벤트를 사용하여 컨트롤에서 "나와"대화하는 것이 좋습니다.

+0

왜 부모 속성 대신 FindForm이 필요합니까? 그냥 궁금해서. =) –

+2

Parent 속성은 폼의 다른 컨트롤 일 수있는 Parent를 반환합니다. 폼에 패널을 배치하고 해당 패널에서 사용자 정의 컨트롤을 사용할 경우 Parent.Parent를 사용하여 폼에 도달해야합니다. FindForm은 양식으로 바로 연결되는 바로 가기라고 생각할 수 있습니다. –

+0

아, FindForm의 작동 방식을 알고 있습니다. Parent.Parent 재귀 적 문제를 고려하지 않았습니다. 감사! ^^ –

1

TabPage 및 TabControl은 조사하려는 클래스 및 구성 요소 일 수 있습니다. Parent 속성을 사용하면 소유하고있는 폼에 액세스 할 수 있으므로 필요에 따라 폼과 통신하거나 탭간에 통신 할 수 있습니다.

프레드릭 ö크 (Fredrik Mörk)가 제안한 것처럼 이벤트 사용은 훨씬 더 나은 방법입니다. =)