연습: 시각적 상속 설명

업데이트: 2008년 7월

시각적 상속을 사용하여 기본 폼의 컨트롤을 보고 새 컨트롤을 추가할 수 있습니다. 이 연습에서는 기본 폼을 만들어 클래스 라이브러리로 컴파일합니다. 이 클래스 라이브러리를 다른 프로젝트에 가져오고 기본 폼에서 상속하는 새 폼을 만듭니다. 이 연습을 통해 다음과 같은 작업 방법을 배웁니다.

  • 기본 폼을 포함하는 클래스 라이브러리 프로젝트를 만듭니다.

  • 기본 폼의 파생 클래스가 수정할 수 있는 속성이 있는 단추를 추가합니다.

  • 기본 폼의 상속자가 수정할 수 없는 단추를 추가합니다.

  • BaseForm에서 상속되는 폼을 포함하는 프로젝트를 만듭니다.

결국 이 연습에서는 상속된 폼에서 개인 컨트롤과 보호된 컨트롤 간의 차이를 설명합니다.

참고:

실제 설정이나 버전에 따라서 화면에 나타나는 대화 상자와 메뉴 명령이 도움말의 설명과 다를 수 있습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

시나리오 단계

첫 단계는 기본 폼을 만드는 것입니다.

기본 폼을 포함하는 클래스 라이브러리 프로젝트를 만들려면

  1. 파일 메뉴에서 새로 만들기와 프로젝트를 차례로 선택하여 새 프로젝트 대화 상자를 엽니다.

  2. BaseFormLibrary라는 Windows Forms 응용 프로그램을 만듭니다. 자세한 내용은 방법: Windows 응용 프로그램 프로젝트 만들기를 참조하십시오.

  3. 표준 Windows Forms 응용 프로그램 대신 클래스 라이브러리를 만들려면 솔루션 탐색기에서 BaseFormLibrary 프로젝트 노드를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.

  4. 프로젝트 속성에서 출력 형식을 Windows 응용 프로그램에서 클래스 라이브러리로 변경합니다.

  5. 파일 메뉴에서 모두 저장을 선택하여 프로젝트와 파일을 기본 위치에 저장합니다.

다음 두 프로시저는 단추를 기본 폼에 추가합니다. 시각적 상속을 설명하기 위해 Modifiers 속성을 설정하여 단추에 각기 다른 액세스 수준을 제공합니다.

기본 폼의 상속자가 수정할 수 있는 단추를 추가하려면

  1. 디자이너에서 Form1을 엽니다.

  2. 도구 상자의 모든 Windows Forms 탭에서 단추를 두 번 클릭하여 단추를 폼에 추가합니다. 마우스를 사용하여 Button 컨트롤을 배치하고 크기를 조정합니다.

  3. 속성 창에서 Button 컨트롤의 다음 속성을 설정합니다.

    • Text 속성을 Say Hello로 설정합니다.

    • (Name) 속성을 btnProtected로 설정합니다.

    • Modifiers 속성을 Protected로 설정합니다. 이렇게 하면 Form1에서 상속하는 폼이 btnProtected의 속성을 수정할 수 있습니다.

  4. Say Hello 단추를 두 번 클릭하여 Click 이벤트에 대한 이벤트 처리기를 추가합니다.

  5. 다음 코드 줄을 이벤트 처리기에 추가합니다.

    MessageBox.Show("Hello, World!")
    
    MessageBox.Show("Hello, World!");
    
    MessageBox.Show("Hello, World!");
    

기본 폼의 상속자가 수정할 수 없는 단추를 추가하려면

  1. 코드 편집기 위의 Form1.vb [디자인], Form1.cs [디자인] 또는 Form1.jsl [디자인] 탭을 클릭하거나 F7 키를 눌러 디자인 뷰로 전환합니다.

  2. 둘째 단추를 추가하고 다음과 같이 속성을 설정합니다.

    • Text 속성을 Say Goodbye로 설정합니다.

    • (Name) 속성을 btnPrivate로 설정합니다.

    • Modifiers 속성을 Private로 설정합니다. 이렇게 하면 Form1에서 상속하는 폼이 btnPrivate의 속성을 수정할 수 없습니다.

  3. Say Goodbye 단추를 두 번 클릭하여 Click 이벤트에 대한 이벤트 처리기를 추가합니다. 다음 코드 줄을 이벤트 프로시저에 배치합니다.

    MessageBox.Show("Goodbye!")
    
    MessageBox.Show("Goodbye!");
    
    MessageBox.Show("Goodbye!");
    
  4. 빌드 메뉴에서 BaseForm 라이브러리 빌드를 선택하여 클래스 라이브러리를 빌드합니다.

    라이브러리를 빌드했으면 방금 만든 폼에서 상속하는 새 프로젝트를 만들 수 있습니다.

기본 폼에서 상속하는 폼을 포함하는 프로젝트를 만들려면

  1. 파일 메뉴에서 추가와 새 프로젝트를 차례로 선택하여 새 프로젝트 추가 대화 상자를 엽니다.

  2. InheritanceTest라는 Windows Forms 응용 프로그램을 만듭니다. 자세한 내용은 방법: Windows 응용 프로그램 프로젝트 만들기를 참조하십시오.

상속된 폼을 추가하려면

  1. 솔루션 탐색기에서 InheritanceTest 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 선택한 다음 새 항목을 선택합니다.

  2. 새 항목 추가 대화 상자에서 Windows Forms 범주를 선택한 다음(범주 목록이 있는 경우) 상속된 폼 템플릿을 선택합니다.

  3. 기본 이름 Form2를 그대로 두고 추가를 클릭합니다.

  4. 상속 선택 대화 상자의 BaseFormLibrary 프로젝트에서 Form1을 상속할 폼으로 선택하고 확인을 클릭합니다.

    이렇게 하면 BaseFormLibrary의 폼에서 파생되는 폼이 InheritanceTest 프로젝트에 만들어집니다.

  5. 상속된 폼(Form2)이 디자이너에서 아직 열려 있지 않으면 두 번 클릭하여 엽니다.

    디자이너에서 상속된 단추의 위쪽 모퉁이에는 상속된 단추임을 나타내는 기호(VisualBasicInheritanceSymbol 스크린 샷)가 표시됩니다.

  6. Say Hello 단추를 선택하고 크기 조정 핸들을 관찰합니다. 이 단추는 보호되기 때문에 상속자가 이동, 크기 조정, 캡션 변경 및 기타 수정 작업을 수행할 수 있습니다.

  7. Say Goodbye 단추를 선택하고 크기 조정 핸들이 없는지 확인합니다. 또한 속성 창에서 이 단추의 속성은 수정할 수 없음을 나타내는 회색으로 표시됩니다.

  8. Visual C#을 사용 중인 경우 다음을 수행합니다.

    1. 솔루션 탐색기에서 InheritanceTest 프로젝트의 Form1을 마우스 오른쪽 단추로 클릭한 다음 삭제를 선택합니다. 메시지 상자가 표시되면 확인을 클릭하여 삭제를 확인합니다.

    2. Program.cs 파일을 열고 Application.Run(new Form1()); 줄을 삭제합니다.

    3. 코드 뷰에서 Form2를 엽니다.

    4. 다음 메서드를 public Form2() 줄 바로 앞에 추가합니다. 이렇게 하면 Form2가 시작 개체로 작동합니다.

      static void Main()
      {
         Application.Run(new Form2());
      }
      

    -또는-

    Visual J#을 사용 중인 경우 다음을 수행합니다. 

    1. 코드 뷰에서 Form2를 엽니다.

    2. 다음 메서드를 추가합니다. InheritanceTest 응용 프로그램에 대한 주 진입점입니다.

      // The main entry point for the application.
      /** @attribute System.STAThreadAttribute() */
      public static void main(String[] args) 
      {
         Application.Run(new Form2());
      }
      
  9. 솔루션 탐색기에서 InheritanceTest 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 시작 프로젝트로 설정을 선택합니다.

  10. 솔루션 탐색기에서 InheritanceTest 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.

  11. InheritanceTest 속성 페이지에서 시작 개체가 상속된 폼(Form2)이 되도록 설정합니다.

  12. F5 키를 눌러 응용 프로그램을 실행하고 상속된 폼의 동작을 관찰합니다.

다음 단계

사용자 정의 컨트롤에 대한 상속은 거의 비슷한 방식으로 동작합니다. 새 클래스 라이브러리 프로젝트를 열고 사용자 정의 컨트롤을 추가합니다. 구성 요소 컨트롤을 배치하고 프로젝트를 컴파일합니다. 다른 새 클래스 라이브러리 프로젝트를 열고 컴파일된 클래스 라이브러리에 대한 참조를 추가합니다. 또한 새 항목 추가 대화 상자를 사용하여 상속된 컨트롤을 프로젝트에 추가하고 상속 선택을 사용해 봅니다. 사용자 정의 컨트롤을 추가한 다음 Inherits(Visual C#에서는 :) 문을 변경합니다. 자세한 내용은 방법: Windows Forms 상속을 참조하십시오.

참고 항목

작업

방법: Windows Forms 상속

참조

상속 선택 대화 상자

Windows Forms 연습 및 방법 항목

기타 리소스

Windows Forms 시각적 상속

Windows Forms

변경 기록

날짜

변경 내용

이유

2008년 7월

Visual Studio 2005 및 Visual Studio 2008에 대한 단계가 업데이트되었습니다.

고객 의견