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

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

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

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

구성 요소를 만드는 경우

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

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

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

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

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

구성 요소 클래스

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

참고하십시오