Announcement

Collapse
No announcement yet.

ComboBox-Elemente

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ComboBox-Elemente

    Hallo allerseits,

    ich durchlaufe alle Controls eines Formulars. Dabei übergebe ich jedes cCtrl As Control an eine Funktion. Diese durchläuft alle Properties des bis dahin unbekannten Controls...

    In eine Datenbank habe ich für mich relevante Controls und deren für mich relevanten Properties. Beispiel:

    Button --------- Text
    Label ---------- Text
    ToolStrip ----- Items ----- Text
    ComboBox--- Items
    usw...

    Wenn ich beim Durchlaufen der Controls auf eine ComboBox und beim durchlaufen derer Properties auf Items treffe, dann caste ich die Property Items in eine enumerierbare Auflistung. Zu beachten ist, dass jedes Item in dieser Auflistung ein String ist.

    Wie kann ich nun die Auflistungs-Elemente durchlaufen und Ihnen einen neuen String-Wert übergeben, so dass dann diese Werte am Ende in der ComboBox stehen? Bei der Zuweisung unten im Code oItem = "test" meckert der Compiler zwar nicht, aber am Ende steht dann in der ComboBox doch der ursprüngliche String.

    Also cCtrl As Control wird übergeben und dann:


    Dim tCtrlType As Type = cCtrl.GetType() '>> Typ des Steuerelementes
    Dim piPropertyInfo As PropertyInfo '>> Eigenschaftsinformation eines Objektes

    For Each piPropertyInfo In tCtrlType.GetProperties()
    If tCtrlType.name.ToString() = "ComboBox" And piPropertyInfo.Name = Items Then
    Dim collection As IEnumerable = TryCast(piPropertyInfo.GetValue(cCtrl, Nothing), IEnumerable)
    For Each oItem As Object In collection
    oItem = "test"
    Next
    End If

    Next
Working...
X