代码本身很有效。当存在没有文本的子项时,会出现问题,程序将崩溃。我正在寻找一种能够绕过这个恼人的错误的方法。
我的代码:
If ComboBox1.Text = "Everything" Then
Dim SetSave As SaveFileDialog = New SaveFileDialog
SetSave.Title = ".txt"
SetSave.Filter = ".txt File (*.txt)|*.txt"
If SetSave.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim s As New IO.StreamWriter(SetSave.FileName, False)
For Each myItem As ListViewItem In Form1.ListView1.Items
s.WriteLine(myItem.Text & TextBox1.Text & myItem.SubItems(1).Text & TextBox1.Text & myItem.SubItems(2).Text & TextBox1.Text & myItem.SubItems(3).Text & TextBox1.Text & myItem.SubItems(4).Text & TextBox1.Text & myItem.SubItems(5).Text & TextBox1.Text & myItem.SubItems(6).Text & TextBox1.Text & myItem.SubItems(7).Text) '// write Item and SubItem.
Next
s.Close()
End If
错误:(这表示没有文本的listview项目,范围从1到7,下面的那个是5) InvalidArgument ='5'的值对'index'无效。 参数名称:index
答案 0 :(得分:1)
您的索引从1开始.VB索引从0开始,因此对于5个项目,您的索引值应为0到4