ListView SelectedIndexChanged-Ereignis keine Ausgewählten Elemente problem
Ich habe ein kleines C# 3.5 WinForms-app, die ich bin zu arbeiten auf, der packt das Ereignisprotokoll Namen von einem server in ein listview. Wenn eines dieser Elemente ausgewählt ist, eine andere listview gefüllt ist mit der Ereignis-log-Einträge aus dem gewählten Ereignis-log mit dem SelectedIndexChanged-Ereignis, indem Sie die text-Eigenschaft des 1. Element in der SelectedItems-Auflistung, wie unten gezeigt.
string logToGet = listView1.SelectedItems[0].Text;
Dies funktioniert gut, die erste Zeit, aber eine zweite Auswahl eines Ereignis-log-Namen aus dem ersten listview nicht. Was geschieht, ist die SelectedItems-Auflistung, dass das SelectedIndexChanged-Ereignis wird immer leer ist, so bekomme ich eine ArgumentOutOfRangeException.
Ich bin ratlos. Irgendwelche Ideen auf, was ich falsch mache, oder einen besseren Weg, dies zu tun?
InformationsquelleAutor Christopher | 2010-08-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, der Grund ist, dass, wenn Sie wählen Sie ein anderes Element, das ListView-hebt die Auswahl der SelectedItem-vor der Wahl der neuen Sache, so wird der Zähler von 1 auf 0 und dann wieder auf 1. Ein Weg, um es zu beheben wäre, um zu überprüfen, dass die SelectedItems-Auflistung enthält ein Element, bevor Sie versuchen, und verwenden Sie es. Die Art und Weise Sie tun es ist in Ordnung, Sie brauchen nur zu berücksichtigen,
zB
InformationsquelleAutor w69rdy
Sollten Sie überprüfen, dass die SelectedItems-Auflistung hat Werte, bevor Sie versuchen, abrufen von Werten aus.
Etwas wie:
InformationsquelleAutor msergeant
Wenn Sie wählen Sie ein neues Element, das Vorherige Element deaktiviert ist ersten. Wickeln Sie Ihren code in einem quick-check:
Diese ignorieren die ausgewählten Elemente ändern, um kein Element ausgewählt.
InformationsquelleAutor Philip Rieck
Ich hatte dieses problem und nachdem er zu viel Zeit merkte ich, dass das problem aufgrund von versuchen, um listView1.SelectedItems aus einem anderen thread. Es kann nützlich sein für andere.
Exception
.InformationsquelleAutor Saeid Jamshidi