fehlende SmartTag-Darstellung für SelectedItem/LookupMember

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    fehlende SmartTag-Darstellung für SelectedItem/LookupMember

    Hallo zusammen.

    Ich bin dabei, eine ClearableComboBox zu erstellen. Während eine an eine BindingSource gebundene ComboBox dafür ausgelegt ist, immer was anzuzeigen, wenn die angebundene BindingSource was enthält, hab ich mir ein UserControl gebastelt, welches auf Wunsch eine Nicht-Auswahl darstellen kann. Aber das ist nebensächlich.
    Mein Problem: Ich will dem Teil einen SmartTag verpassen, bei dem man DataSource, ValueMember, DisplayMember und SelectedItem im Designer einstellen kann, sodass das sog. LookUp-Binding komfortabel eingerichtet werden kann.
    Soweit hab ich die ersten 3 Punkte hinter mir:



    Nur für SelectedItem finde ich kein passendes Designer-Attribut, um es so hinzubekommen wie bei der normalen ComboBox:



    Leider hilft mir auch der ComboBox-Quellcode nicht weiter, denn da steht nur:

    VB.NET-Quellcode

    1. <Bindable(True)> <Browsable(False)> <DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> <SRDescriptionAttribute("ComboBoxSelectedItemDescr")>
    2. Public Property SelectedItem As Object


    Das hab ich natürlich bei mir ausprobiert, aber dass das nicht zum gewünschten Ergebnis führt, dürfte klar sein.
    Ich weiß zwar, dass bei Setzen des StandardComboBox-SelectedItems ein DataBinding in der entsprechenden FormX.Designer.VB erstellt wird. Aber leider hilft mir das nicht weiter, v.a. nicht für den SmartTag.

    Wie bekomm ich die gewünschte Anzeige/-auswahl hin?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    TypConverter und Editor habe ich in den Tiefen des Netzes gefunden. Zumindest stimmt damit der Editor:

    VB.NET-Quellcode

    1. <DefaultValue(CObj(Nothing)), TypeConverter("System.Windows.Forms.DesignBindingConverter"), Editor("System.Windows.Forms.Design.DesignBindingEditor", GetType(Design.UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)>
    2. Public Property SelectedItem() As Object



    Nur das Ergebnis ist noch besch…


    Und ein DataBinding wird damit auch nicht erstellt. Hätte mich aber auch gewundert hätte, wenn das gegangen wäre.

    Hm … allerdings frag ich mich gerade, ob das überhaupt so sinnvoll ist. Wenn ein DataBinding eingebaut wird, könnte das Für eine ClearableComboBox sogar kontraproduktiv sein. Mal überlegen …

    ##########

    Ich sehe momentan tatsächlich keine Notwendigkeit für eine Problemlösung mehr und präsentiere meine Entwicklung der ClearableComboBox in einem neuen Thread.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()