Tworzenie składników i korzystanie z nich w Visual Basic
Składnik to klasa, która implementuje System.ComponentModel.IComponent interfejs lub który pochodzi bezpośrednio lub pośrednio z klasy, która implementuje IComponentelement . Składnik .NET jest obiektem wielokrotnego użytku, może wchodzić w interakcje z innymi obiektami i zapewnia kontrolę nad zasobami zewnętrznymi i obsługą czasu projektowania.
Ważną cechą składników jest to, że można je zaprojektować, co oznacza, że klasa, która jest składnikiem, może być używana w zintegrowanym środowisku projektowym programu Visual Studio. Składnik można dodać do przybornika, przeciągać i upuszczać na formularzu oraz manipulować na powierzchni projektowej. Podstawowa obsługa czasu projektowania składników jest wbudowana w platformę .NET. Deweloper składników nie musi wykonywać żadnych dodatkowych prac, aby korzystać z podstawowych funkcji czasu projektowania.
Kontrolka jest podobna do składnika, ponieważ obie są projektowalne. Jednak kontrolka zapewnia interfejs użytkownika, a składnik nie. Kontrolka musi pochodzić z jednej z podstawowych klas kontrolek: Control lub Control.
Kiedy utworzyć składnik
Jeśli klasa będzie używana na powierzchni projektowej (takiej jak Windows Forms lub Web Forms Projektant), ale nie ma interfejsu użytkownika, powinien być składnikiem i zaimplementować IComponentelement lub pochodzić z klasy, która bezpośrednio lub pośrednio implementuje IComponentelement .
Klasy Component i MarshalByValueComponent to podstawowe implementacje interfejsu IComponent . Główną różnicą między tymi klasami jest to, że Component klasa jest określana przez odwołanie, podczas gdy IComponent jest określana według wartości. Poniższa lista zawiera szerokie wytyczne dotyczące implementatorów.
Jeśli składnik musi być rozsyłany według odwołania, należy opierać się na elemencie Component.
Jeśli składnik musi być rozsyłany według wartości, pochodzi z .MarshalByValueComponent
Jeśli składnik nie może pochodzić z jednej z podstawowych implementacji z powodu pojedynczego dziedziczenia, zaimplementuj element IComponent.
Klasy składników
System.ComponentModel Przestrzeń nazw udostępnia klasy, które są używane do implementowania zachowania czasu wykonywania i czasu projektowania składników i kontrolek. Ta przestrzeń nazw obejmuje klasy podstawowe i interfejsy do implementowania atrybutów i konwerterów typów, powiązania ze źródłami danych i składnikami licencjonowania.
Podstawowe klasy składników to:
Component. Podstawowa implementacja interfejsu IComponent . Ta klasa umożliwia udostępnianie obiektów między aplikacjami.
MarshalByValueComponent. Podstawowa implementacja interfejsu IComponent .
Container. Podstawowa implementacja interfejsu IContainer . Ta klasa hermetyzuje zero lub więcej składników.
Niektóre klasy używane do licencjonowania składników to:
License. Abstrakcyjna klasa bazowa dla wszystkich licencji. Licencja jest przyznawana określonemu wystąpieniu składnika.
LicenseManager. Udostępnia właściwości i metody dodawania licencji do składnika oraz zarządzania elementem LicenseProvider.
LicenseProvider. Abstrakcyjna klasa bazowa do implementowania dostawcy licencji.
LicenseProviderAttribute. Określa klasę LicenseProvider do użycia z klasą.
Klasy często używane do opisywania i utrwalania składników.
TypeDescriptor. Zawiera informacje o cechach składnika, takich jak jego atrybuty, właściwości i zdarzenia.
EventDescriptor. Zawiera informacje o zdarzeniu.
PropertyDescriptor. Zawiera informacje o właściwości.
Sekcje pokrewne
Rozwiązywanie problemów związanych z kontrolkami oraz tworzeniem składników
Objaśnienie sposobu rozwiązywania typowych problemów.