参数“索引”不是有效值

时间:2012-10-22 16:39:50

标签: vb.net

我正在开发一个提交dcm文件的工具,现在我有一个错误,当它们被用作其他添加文件的源文件时,拒绝提交已删除的文件。

程序:

1-复制名为FILE_A的文件,并将其命名为FILE_B并对FILE_B中的参数进行一些更改,然后使用该工具提交更改(选择FILE_A作为参考文件)..完全正常。

2-删除FILE_A并保留FILE_B然后使用该工具提交..工具将崩溃并关闭。

以下是抛出异常并关闭工具的行:

If FilesGrid.Item(0, a).Value = True And FilesGrid.Item(2, a).Value.ToString() = "Removed" Then

    FilesRemoved.Add(FileLocalPos.Item(FilesGrid.Item(1, a).Value.ToString))
    myFileVector.Add(FileLocalPos.Item(FilesGrid.Item(1, a).Value.ToString))

End If

异常消息是:

Argument "index" is not a valid value

非常感谢您的帮助..

2 个答案:

答案 0 :(得分:1)

只是一个猜测:

FilesGrid.Item(1, a).Value.ToString保存到变量:

If FilesGrid.Item(0, a).Value = True And FilesGrid.Item(2, a).Value.ToString() = "Removed" Then
    Dim l_itemIndex = FilesGrid.Item(1, a).Value.ToString

    FilesRemoved.Add(FileLocalPos.Item(l_itemIndex))
    myFileVector.Add(FileLocalPos.Item(l_itemIndex))
End If

答案 1 :(得分:0)

此消息表示收藏夹中不包含您尝试使用项目功能查找的项目。

为防止出现此消息,请在尝试引用Item之前使用Contains方法。 例如

If FilesGrid.Contains(0, a) and FilesGrid.Contains(2, 1) Then
    If FilesGrid.Item(0, a).Value = True And FilesGrid.Item(2, a).Value.ToString() = "Removed" Then