Porady: implementowanie dostawcy rozszerzeń

Urządzenie Extender dostawców można dodawać właściwości do formantów.Formanty ActiveX używane również pojęcia extender dostawców, ale są wymagane specjalne obsługa języków programowania.W.NET Framework dostawców extender wymagają nie specjalnego wsparcia.W kodzie źródłowym własność dostawcy extender istnieje na obiekt dostawcy urządzenia extender.Ustawienie wartości właściwości na inny obiekt wymaga dwóch rodzajów informacji: obiekt, aby ustawić wartość na i nową wartość właściwości.Na przykład, ma Windows Forms ToolTip składnika, który oferuje właściwości urządzenia extender do innych formantów.Właściwość ustawia go na inne obiekty jest ciągiem, który reprezentuje ToolTip który pojawia się po zatrzymaniu wskaźnika nad formantem.Poniższy przykład kodu pokazuje, jak ustawić ToolTip właściwości.

tooltip1.SetToolTip(button1, "The tooltip text")
tooltip1.SetToolTip(button1, "The tooltip text");

W czasie projektowania extender właściwości są wyświetlane w przeglądarce właściwości jako właściwości obiektów, które rozszerzają one zamiast obiektu rzeczywiste urządzenie extender.W poprzednim przykładzie ToolTip właściwości pojawia się na button1, a nie na tooltip1.

Aby zaimplementować dostawcę urządzenia extender

  1. Definiowanie składnik, który implementuje IExtenderProvider interfejsu.

    Public Class MyExtender
       Implements IExtenderProvider
       ...
    End Class
    
    public class MyExtender : IExtenderProvider {...}
    

    Definicja IExtenderProvider jest w następujący sposób.

    Public Interface IExtenderProvider
       Function CanExtend(ByVal extendee As Object) As Boolean
    End Interface
    
    public interface IExtenderProvider {
        bool CanExtend(object extendee);
    }
    
  2. Wdrożenie CanExtend metodę, tak że zwraca true dla każdego składnika lub formantu, udostępniający właściwości urządzenia extender.

  3. Definiują zestaw właściwości, które urządzenie extender może dostarczyć do innych składników.Właściwości są naprawdę metod, ponieważ one podjąć dodatkowy parametr, który określa składnik, aby zastosować właściwości do.

Klasa dostawcy extender musi być oznaczone ProvidePropertyAttribute.Konstruktor ProvidePropertyAttribute ma dwa argumenty: po pierwsze, ciąg określający nazwę właściwości, aby dodać i drugi, typ obiektu do właściwości, aby zapewnić.

<ProvideProperty("HelpText", GetType(IComponent))> _
Public Class MyExtender
   Implements IExtenderProvider 
   ...
End Class
[ProvideProperty("HelpText", typeof(IComponent))]
   class MyExtender : IExtenderProvider {...}

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.

Całą próbkę, zobacz Porady: implementowanie dostawcy rozszerzeń HelpLabel.

Zobacz też

Zadania

Porady: implementowanie dostawcy rozszerzeń HelpLabel

Inne zasoby

Rozszerzona pomoc techniczna czasu projektowania