ListView mit CheckBoxen --> Elemente hinzufügen



  • Hallo,

    ich habe eine Windows Forms Anwendung mit einer ListView. Dort hat jedes Element eine CheckBox. Kann ich diese CheckBox direkt beim hinzufügen eines Elements einstellen? Ich kenne das von einer CheckedListBox so:

    myCheckedListBox.Items.Add(myString, true);
    

    Bei ListView habe ich bis jetzt aber nur das gefunden:

    myListView.Items.Add(new ListViewItem(new string[] { "column1", "column2"}));
    myListView.Items[myListView.Items.Count-1].Checked = false;
    

    Dabei gehe ich stillschweigend davon aus, dass ich mit der zweiten Zeile das zuletzt hinzugefügte Element anspreche. Ist das richtig so? Weil eigentlich habe ich "Sorting" in Verwendung, und wenn da direkt nach dem ersten Befehl neu sortiert wird, kann es ja sein dass ich mit dem Element mit dem höchsten Index auf einen ganz anderen Eintrag zugreife wie ich eigentlich möchte.

    Gibt es bei der ListView nicht auch einen Befehl, mit dem ich einen Eintrag hinzufügen und gleichzeitig die CheckBox setzen kann?

    Danke...



  • Einen Konstruktor gibt es m.E. dafür nicht, aber du kannst es so schreiben:

    ListViewItem item = new ListViewItem(new string[] { "column1", "column2"});
    item.Checked = false;
    myListView.Items.Add(item);
    

    Dann klappt's auch mit der Sortierung -)



  • Na das hört sich ja super an, (fast) genau so wie ich wollte. Werde das morgen direkt testen.

    Vielen Dank für die Antwort!

    PS: Also ich muss sagen, C# gefällt mir immer besser. War bis jetzt hauptsächlich mit C und C++ beschäftigt, aber C# bietet ja wirklich viel. Vor allem in Sachen grafischer Oberfläche ist C# ja meilenweit C++ voraus, oder? Habe in C++ einige Versuche unternommen mal ne GUI mit den MFC zu erstellen, aber das ist immer daran gescheitert dass ich mich irgendwann so angekotzt habe dass ich es doch gelassen hab 🙂

    Das war jetzt mehr als euch hier wahrscheinlich interessiert, aber egal 😃


Anmelden zum Antworten