Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Składnik to klasa, która implementuje System.ComponentModel.IComponent interfejs lub która pochodzi bezpośrednio lub pośrednio z klasy, która implementuje IComponent element. 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 podstawowej funkcjonalności czasu projektowania.
Kontrola jest podobna do składnika, ponieważ oba są możliwe do zaprojektowania. 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 ma być używana na powierzchni projektowej (takiej jak Windows Forms lub Web Forms Designer) i nie posiada interfejsu użytkownika, powinna być komponentem oraz implementować IComponent albo pochodzić z klasy, która bezpośrednio lub pośrednio implementuje IComponent.
Klasy Component i MarshalByValueComponent to podstawowe implementacje interfejsu IComponent . Główną różnicą między tymi klasami jest to, że klasa Component jest przekazywana przez odwołanie, podczas gdy IComponent jest przekazywana 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 twój komponent musi być przekazywany według wartości, dziedzicz z klasy 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
Przestrzeń nazw System.ComponentModel udostępnia klasy, które są używane do implementowania zachowania w czasie wykonywania i 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.
Powiązane sekcje
Rozwiązywanie problemów z kontrolą i tworzeniem składników
Objaśnienie sposobu rozwiązywania typowych problemów.