Enums an Combobox-Datasource binden

  • VB.NET

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

    Enums an Combobox-Datasource binden

    Hi,

    wie muss ich das machen, dass die Items einer Combobox die Elemente eines Enums sind. Weil wenn man einem ENum selber definiert, kann man ja machen:

    VB.NET-Quellcode

    1. Me.Combobox1.DataSource = [Enum].GetNames(GetType(MeinNamespace.MeinEnum))


    Ich will aber die ImageLayout als DataSource verwenden, aber wenn ich

    VB.NET-Quellcode

    1. Me.ImageLayoutCB.DataSource = [Enum].GetNames(GetType(System.Windows.Forms.ImageLayout))

    , dann bleibt die Combobox leer und bekommt keine Items.

    Ich hoff ich hab mich richtig und verständlich ausgedrückt ;)

    Kangaroo schrieb:

    dennoch sollte die von Dir angegebene Zuweisung einwandfrei funktionieren.

    Vorausgesetzt natürlich dieses Statement wird in Deinem Code auch ausgeführt ...

    Danke ;)

    Aber iwie bleibt die Combobox leer und wenn ich die Elemente einzeln hinzufüge, (also

    VB.NET-Quellcode

    1. Me.ImageLayoutCB.Items.Add(ImageLayout.Stretch)
    und so weiter) dann läufts :?: :!:
    und der Code wird ausgeführt...

    Aber die Datasource beinhaltet dannach auch die Member, nur angezeigt werden sie nicht. Ich befürchte, dass ich grad auf der Leitung stehe und iwie noch festlegen muss, dass die Datasource verwendet werden muss, kann das sein ?^^

    Danke schonmal ;)
    nöö, in diesem Fall nicht. Sollte eigentlich nur wie oben nur im Load-Event der Form zugewiesen werden, das wäre schon alles.

    Was Du sonst noch 'verbrochen' hast wissen wir natürlich nicht: aber wenn Du ein neues Testprojekt mit 1 Combobox machst + die Zuweisung im Load-Event, so sollte es funktionieren.
    Ok, geht doch ?!? Ich hab mal ein paar Einstellungen von der Combobox verändert und plötzlich gings ;) Was etz dran schuld war, weiß ich auch net genau ;)
    Allerdings hab ich etz net GetNames genommen, sondern GetValues

    Danke!!