|
Die Prozedur-ID "Voreinstellung", die Sie in den Prozedurattributen einstellen können, kennen Sie wahrscheinlich. Damit legen Sie fest, ob eine Eigenschaft eines UserControls als Standard-Eigenschaft gelten soll. Vielleicht kennen Sie auch die Prozedur-ID "Text". Diese sorgt dafür, dass im Eigenschaftenfenster für die betreffende Eigenschaft eingegebener Text sofort übernommen wird und noch während des Eintippens dargestellt werden kann.
Das Problem ist nur, dass Sie in Visual Basic einer Eigenschaft nicht beide Prozedur-IDs zugleich zuweisen können - wie es offensichtlich bei der Caption-Eigenschaft eines Labels der Fall ist.
Da Sie aber eine Eigenschaft vollkommen ausblenden können, sowohl im Eigenschaftenfenster als auch im Objekt-Katalog, können Sie ohne weiteres eine Hilfseigenschaft anlegen, etwa mit dem Namen "Default". Dieser weisen Sie die Prozedur-ID "Voreinstellung" zu und blenden sie aus. Sie erfüllt damit ihren Zweck, stört aber nicht als Verdoppelung im Eigenschaftenfenster.
Im Code reichen Sie in den Eigenschaften-Prozeduren die Zuweisung bzw. das Auslesen dieser Standard-Eigenschaft an die eigentliche Eigenschaft durch - beispielsweise für eine Caption-Eigenschaft:
Public Property Get Caption() As String
Caption = lbl.Caption
End Property
Public Property Let Caption(New_Caption As String)
lbl.Caption = New_Caption
PropertyChanged "Caption"
End Property
Public Property Get Default() As String
Default = Me.Caption
End Property
Public Property Let Default(New_Default As String)
Me.Caption = New_Default
End Property
|