Diverse Combo Box Probleme

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Diverse Combo Box Probleme

    Hi,

    ich will eine Combo Box führen, in der ich die Historie von ausgewählten Dateipfaden abspeichere. Jedesmal wenn ich einen neuen Pfad im Dialog auswähle, wird er in die Combo Box gespeichert. Durch Auswählen eines gespeicherten Eintrags der Combobox wird der Pfad wieder restauriert.

    Das klappt auch soweit ganz prima. Nur stören mich einige Eigenschaften:

    1. Das Textfeld der Combobox soll READ ONLY sein. Ich will verhindern, dass ein Pfad "manuell" geändert werden kann. Leider habe ich nicht gefunden wie man das (etwa wie bei einer Textbox mit READOLNLY = True) bei einer Combobox einstellen kann.

    2. Die neuen Einträge werden mit Items.Add an die Liste angehängt. Ich würde die jüngsten Einträge aber gern an den Beginn der Combobox stellen. Die Einträge sollen also in absteigender zeitlichen Reihenfolge angezeigt werden. Natürlich möglichst ohne die Liste bei jedem Items.Add jedesmal komplett neu aufzubauen.

    3. Mit einem Doppelclick auf das Textfeld der Combobox würde ich gern in das Rootverzeichnis wechseln. Ich habe die Ereignisprozedur MouseDoubleClick verwendet ... die wird aber bei einem Doppelklick nicht ausgelöst! Stattdessen wird der Teil des Pfades der angeklickt wurde blau unterlegt markiert. Wie kann ich also einen Doppelclick fangen und möglichst nichts in markieren.

    Ich hoffe, ich habe nicht zuviel Fragen auf einmal gestellt! :)

    LG
    Peter
    @Peter329 Gib der ComboBox DropDownStyle = DropDownList.
    Zum Sortieren nutze DataBinding, mach das über eine List(Of String).
    MouseDoubleClick funktioniert so nicht, mach da was anderes.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Die Sache mit dem "Dropdown Style" klappt prima!

    Mhh ... was mir eine List(Of String) bringen soll, verstehe ich nicht. Ich will ja nicht alphabetisch sortieren, sondern in der Reihenfolge der Einfügung. Aber vielleicht habe ich deinen diesbezüglichen Rat ganz einfach nicht verstanden. :)

    Die Sache mit dem DoubleClick hab ich mir also abgeschminkt. Ich nutze jetzt stattdessen einen Button. Das funktioniert auch gut!

    Wie immer recht herzlichen Dank für deine Ratschläge!
    Peter

    Peter329 schrieb:

    ganz einfach nicht verstanden.
    Offensichtlich. ;)

    VB.NET-Quellcode

    1. Dim ll As New List(Of String)
    2. ll.Insert(0, "aa")
    3. ll.Insert(0, "cc")
    4. ll.Insert(0, "bb")
    5. ll.Insert(0, "dd")

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Peter329 schrieb:

    Was mache ich falsch?
    Sieh Dir mal Deine und meine Argumente an:

    Peter329 schrieb:

    VB.NET-Quellcode

    1. RealHistory.Insert(RealNewBasePath)

    RodFromGermany schrieb:

    VB.NET-Quellcode

    1. ll.Insert(0, "aa")
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!