Udostępnij za pośrednictwem


Przegląd dostawcy rozszerzeń

Dostawca rozszerzony jest składnikiem, który zawiera właściwości do innych składników.Na przykład, gdy ToolTip składnik zostanie dodany do formularza, zawiera właściwość o nazwie ToolTip do każdego formantu w tym formularzu.ToolTip Właściwości pojawia się w dowolnym dołączonych PropertyGrid kontroli.W czasie projektowania można ustawić wartości dla tej właściwości.

Właściwość dostarczane przez dostawcę urządzenia extender faktycznie rezyduje w sam obiekt dostawcy extender i dlatego nie jest spełniony właściwości składnika, który modyfikuje.W czasie projektowania właściwości pojawia się w każdym PropertyGrid dołączonych do składnika, który jest modyfikowany.W czasie wykonywania jednak użytkownik nie dostęp do właściwości poprzez sam składnik.Zamiast tego należy wywołać GetToolTip metody na ToolTip składnika.

Wdrożenie

Poniższa lista zawiera opis kroków niezbędnych do wykonania Dostawca rozszerzony:

  • Użyj ProvidePropertyAttribute atrybutu, aby określić właściwość dostarczonej przez dostawcę urządzenia extender.

  • Podana właściwość wprowadzenia w życie.

  • Formanty, które otrzymują swoje właściwości dostarczonego toru.

  • Wdrożenie IExtenderProvider interfejsu.

Aby uzyskać szczegółowe informacje, zobacz Porady: implementowanie dostawcy rozszerzeń.Całą próbkę, zobacz Porady: implementowanie dostawcy rozszerzeń HelpLabel.

Atrybut ProvideProperty

Dostawca urządzenia extender jest klasą i jako takie ma swoje własne właściwości i metod.Aby wyznaczyć właściwość jako właściwość przekazywane do innych składników, należy zastosować ProvidePropertyAttribute atrybut na poziomie klasy.Ten atrybut określa nazwę właściwości, aby zapewnić i typ obiektu może dawać tej właściwości.

Podana właściwość wykonawczych

Przez Konwencję nie implementuje podana właściwość jako właściwość, lecz raczej jako pary metod.Musisz nadać nazwę tych metod GetPropertyName iPropertyName.Na przykład, jeśli dostawca urządzenia extender implementacji zawiera właściwość o nazwie DemoText, nazwa metody GetDemoText i SetDemoText.

Metody te wziąć pojedynczej Component parametr, który pozwala śledzić, których wartość właściwości jest przypisany do których składnik.

Formanty, które otrzymują podana właściwość śledzenia

Wymaga implementacji podana właściwość IDictionary lub innego obiektu kolekcji do rejestrowania i pobrać wartości właściwości dla każdego składnika.

Na przykład, można użyć instancji składnika jako Key do DictionaryEntry i wartość właściwości jako Value z DictionaryEntry.Gdy GetPropertyName wywoływana jest metoda, implementacji będzie następnie kwerendę kolekcji wartości właściwości odpowiadające danego składnika.

Wykonania interfejsu IExtenderProvider

Każdej klasy extender musi implementować IExtenderProvider interfejsu.Ten interfejs składa się z jednej metody, CanExtend, która zwraca wartość logiczną i wskazuje projektanta, czy składnik jest kandydatem do rozszerzony, czy nie.

Podczas, gdy dostawca urządzenia extender może zapewnić właściwości każdego składnika, wykonania zazwyczaj zawiera funkcje ułatwiające można używać tylko z określonej kategorii składników.Na przykład można utworzyć urządzenia extender, która zawiera właściwości tylko do formantów.Implementacji CanExtend metody można wymuszać to ograniczenie.

Zobacz też

Zadania

Porady: implementowanie dostawcy rozszerzeń

Porady: implementowanie dostawcy rozszerzeń HelpLabel

Inne zasoby

Rozszerzona pomoc techniczna czasu projektowania