다음을 통해 공유


Visual Basic에서 구성 요소 만들기 및 사용

구성 요소는 인터페이스System.ComponentModel.IComponent를 구현하는 클래스이거나, IComponent를 구현한 클래스에서 직접 또는 간접적으로 파생된 클래스입니다. .NET 구성 요소는 다시 사용할 수 있고, 다른 개체와 상호 작용할 수 있으며, 외부 리소스 및 디자인 타임 지원을 제어할 수 있는 개체입니다.

구성 요소의 중요한 기능은 구성 요소의 클래스를 Visual Studio 통합 개발 환경에서 사용할 수 있다는 것을 의미하므로 디자인할 수 있다는 것입니다. 구성 요소를 도구 상자에 추가하고 폼에 끌어서 놓고 디자인 화면에서 조작할 수 있습니다. 구성 요소에 대한 기본 디자인 타임 지원은 .NET에 기본 제공되어 있습니다. 구성 요소 개발자는 기본 디자인 타임 기능을 활용하기 위해 추가 작업을 수행할 필요가 없습니다.

컨트롤은 구성 요소와 비슷하며 둘 다 디자인할 수 있습니다. 그러나 컨트롤은 사용자 인터페이스를 제공하지만 구성 요소는 제공하지 않습니다. 컨트롤은 기본 컨트롤 클래스 중 하나에서 파생되어야 합니다. Control 또는 Control.

구성 요소를 만드는 경우

클래스가 디자인 화면(예: Windows Forms 또는 Web Forms Designer)에서 사용되지만 사용자 인터페이스가 없는 경우, 구성 요소가 되어야 하며 IComponent를 구현하거나, IComponent를 직접 또는 간접적으로 구현하는 클래스에서 파생되어야 합니다.

ComponentMarshalByValueComponent 클래스는 인터페이스의 기본 구현입니다IComponent. 이러한 클래스 간의 주요 차이점은 클래스가 Component 참조로 마샬링되는 반면 IComponent 값으로 마샬링된다는 것입니다. 다음 목록에서는 구현자에 대한 광범위한 지침을 제공합니다.

  • 구성 요소를 참조로 마샬링해야 하는 경우, Component에서 파생하십시오.

  • 구성 요소가 값으로 마샬링해야 하는 경우, MarshalByValueComponent에서 파생하십시오.

  • 단일 상속으로 인해 구성 요소가 기본 구현 중 하나에서 파생될 수 없는 경우 구현 IComponent합니다.

구성 요소 클래스

System.ComponentModel 네임스페이스는 구성 요소 및 컨트롤의 런타임 및 디자인 타임 동작을 구현하는 데 사용되는 클래스를 제공합니다. 이 네임스페이스에는 특성 및 형식 변환기 구현, 데이터 원본에 바인딩 및 라이선스 구성 요소를 구현하기 위한 기본 클래스 및 인터페이스가 포함됩니다.

핵심 구성 요소 클래스는 다음과 같습니다.

  • Component; 인터페이스에 대한 기본 구현입니다 IComponent . 이 클래스를 사용하면 애플리케이션 간에 개체를 공유할 수 있습니다.

  • MarshalByValueComponent; 인터페이스에 대한 기본 구현입니다 IComponent .

  • Container; 인터페이스 IContainer의 기본 구현입니다. 이 클래스는 0개 이상의 구성 요소를 캡슐화합니다.

구성 요소 라이선스에 사용되는 클래스 중 일부는 다음과 같습니다.

  • License; 모든 라이선스에 대한 추상 기본 클래스입니다. 구성 요소의 특정 인스턴스에 라이선스가 부여됩니다.

  • LicenseManager; 구성 요소에 라이선스를 추가하고 LicenseProvider를 관리하는 속성과 메서드를 제공합니다.

  • LicenseProvider; 라이선스 공급자를 구현하기 위한 추상 기본 클래스입니다.

  • LicenseProviderAttribute; LicenseProvider 클래스와 함께 사용할 클래스를 지정합니다.

구성 요소를 설명하고 유지하는 데 일반적으로 사용되는 클래스입니다.

  • TypeDescriptor; 특성, 속성 및 이벤트와 같은 구성 요소의 특성에 대한 정보를 제공합니다.

  • EventDescriptor; 이벤트에 대한 정보를 제공합니다.

  • PropertyDescriptor; 속성에 대한 정보를 제공합니다.

컨트롤 및 구성 요소 제작 문제 해결
일반적인 문제를 해결하는 방법을 설명합니다.

참고하십시오