Problem mit Listview

29/10/2007 - 01:45 von Brian Schmalisch | Report spam
Hallo,

ich habe ein Problem beim überprüfen von Werten in einem Listview. Ich habe
in einem Column einen Dateinamen, im zweiten Column eine Eigenschaft.

Es kann vorkommen, dass die zweite Spalte leer ist. Wenn ich den Wert im
zweiten Column abfragen will und dieses leer ist, dann erhalte ich eine
Exception.

Mein Ansatz funktioniert leider nicht:
if (listViewImage.SelectedItems.Count > 0 && listViewImage.SelectedItems !=
null)
{
if (listViewImage.SelectedItems[0].SubItems[1].Text != null)
MessageBox.Show(listViewImage.SelectedItems[0].SubItems[1].Text);
}

Fehlermeldung:
System.ArgumentOutOfRangeException wurde nicht behandelt.
Message="InvalidArgument=Value mit dem Wert 1 ist für index
ungültig.Parametername: index"
Source="System.Windows.Forms"
ParamName="index"

Brian
 

Lesen sie die antworten

#1 Frank Dzaebel
29/10/2007 - 07:44 | Warnen spam
Hallo Brian,

if (listViewImage.SelectedItems.Count > 0 && listViewImage.SelectedItems
!= null)
{ if (listViewImage.SelectedItems[0].SubItems[1].Text != null)
MessageBox.Show(listViewImage.SelectedItems[0].SubItems[1].Text);
} // ergibt: ArgumentOutOfRangeException ...



Du hast zwar die SelectedItems auf Count gecheckt,
aber nicht die SubItems. Das Handling dafür solltest
Du noch einbauen. Etwa:

int index = 0; int subIndex = 1;
if (listViewImage.SelectedItems.Count > index)
if (listViewImage.SelectedItems[index].SubItems.Count > subIndex)
MessageBox.Show(listViewImage.SelectedItems[
index].SubItems[subIndex].Text);


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen