ComboBox

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von cfreak.

    Guten Morgen beisammen,

    ich stehe wieder einmal vor einem kleinen Problem,
    aber ich mir sicher ihr könnt mir relativ schnell auf die Sprünge helfen.

    Ich muss für eine Abfrage feststellen, ob eine Combobox gerade aufgeklappt ist.
    Normal funktioniert das ja über

    VB.NET-Quellcode

    1. If ComboBox1.DroppedDown = True Then
    2. 'Abfrage
    3. End If


    schwiriger wird das ganze, wenn ich die Abfrage bei einer dynamisch erzeugten box starten muss:

    VB.NET-Quellcode

    1. If Me.Panel1.Controls("Combobox").DroppedDown = True Then
    2. 'Abfrage
    3. End If


    so funktioniert das ganze leider nicht.
    Wie muss ich die controls ansteuern,
    damit ich ein result erhalten kann?

    MFG
    Matzä
    Hi,
    so sollte es klappen:

    VB.NET-Quellcode

    1. Dim ctrl As ComboBox = CType(Panel1.Controls("ComboBox1"), ComboBox)
    2. 'Überprüfen ob ein Element mit dem entprechenden Namen gefunden wurde
    3. If (ctrl IsNot Nothing) Then
    4. If (ctrl.DroppedDown) Then
    5. 'Mach was
    6. End If
    7. End If
    Hallo!

    Weiß zar nicht, was du genau vor hast, aber wenn du z.B. beim ersten Öffnen einer ComboBox
    jene per Abfrage füllen möchtest kannst du auch das DropDown-Ereignis der Box benutzen:

    VB.NET-Quellcode

    1. Private Sub ComboBox1_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.DropDown
    2. End Sub
    Wichtig ist, dass ich die Objekte dynamisch erzeuge,
    sprich, weiß ich im Vorfeld nicht, wie letzten Endes das Objekt heißen wird.
    Deswegen ist es auch nicht möglich, so wie du gerade aufgeführt hast, zu agieren.
    Muss über eine Controls - Ansteuerung geschehen :)