2009-04-09 4 views
3

ASP.NET의 마스터 페이지와 마찬가지로 Windows Form 응용 프로그램과 비슷한 개념이 있습니까? 그래서 내가 응용 프로그램을 통해 여러 번 폼 (머리말과 꼬리말)의 동일한 부분을 반복하지 않아도됩니다.Windows Form의 마스터 양식

답변

1

실제로는 마스터 페이지와 같지 않지만 모든 다른 양식이 필요에 따라 상속 (또는 구성) 할 수있는 머리글과 바닥 글이있는 컨트롤 (예 : UserControl 기준)을 만들 수 있습니다.

9

예.

당신이해야 할 일은 내가 일반적으로 클릭을 처리하는 방법을 작성, 당신이 원하는 모든 UI, 기본 버튼에 추가 등 버튼 같은 것들에 대한

을 당신의 "마스터"양식을 작성하는 것입니다 이벤트를 "가상"으로 설정하여 실제 양식으로 구현할 수 있습니다.

"마스터"양식이 작성되면 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "새 항목"을 선택해야합니다. 일단 당신이 VS.Net 2008에 있다면, 당신은 "Windows Forms"카테고리를 클릭하고 "Inherited Form"을 선택할 수 있습니다.

일단 작업을 완료하면 프로젝트에서 어떤 양식을 상속할지 묻는 메시지가 표시됩니다. 간단히 "마스터"양식을 선택하면 설정해야합니다.

7

기본 폼을 머리글과 바닥 글이있는 양식으로 만들고 가운데는 비워 둡니다.

공통 인터페이스가있는 UserControl으로 "내부 페이지"를 구현하고 필요에 따라 변경합니다. (Header, ContentPanel 및 Footer는 Windows.Form.Panel입니다.) 이 유용하지만이 켜지지 아니다 인터페이스를 구현

public class MonkeyEdit : UserControl, IContent 
{ 

} 

------------------------------- 
| Header      | 
-------------------------------   ______________ 
|        |   |   | 
|   ContentPanel  | <---- | MonkeyEdit | 
|        |   |____________| 
------------------------------- 
| Footer      | 
------------------------------- 

와 구현 내용. 그런 다음 이벤트/구성에 따라 MonkeyEdit을 Dock.Fill이있는 ContentPanel에로드하면됩니다. 다른 게시물에서 볼 수 있듯이 "마스터 양식"도 상속받을 수 있습니다.

0

당신은 상속과 비슷한 것을 얻을 수 있습니다; 반복되는 컨트롤이있는 상위 폼을 만든 다음 필요한 모든 사용자 지정 폼에이 부모를 사용합니다.

0

폼에서 상속하는 클래스를 추가하고 코드에서 머리글과 바닥 글을 추가 한 다음 모든 새 폼이이 클래스에서 상속되도록합니다.

0

마스터 페이지에는 페이지가 삽입 될 콘텐츠 영역을 지정할 수있는 기능이 있습니다. 따라서 양식을 파생시키고 양식 A에서 양식 B를 가져 와서 부모 양식의 기능을 얻는 것이 그 점을 증명하지는 않습니다. Boj가 언급 한 것은 패널을 사용하는 곳에서 더 의미가 있습니다.

관련 문제