我正在使用文件夹和文件填充分层列表框。我用这些代码行填充我的列表框:
For i As Integer = 1 To General.GetBlocksFolder.count
If General.GetBlocksFolder.Item(i).Directory Then
frmMain.BlockList.Append(General.GetBlocksFolder.Item(i).DisplayName, True)
frmMain.BlockList.RowTag(i-1) = General.GetBlocksFolder.Item(i).GetSaveInfo(GetFolderItem(""))
End if
Next
General.GetBlocksFolder 是一个在我的系统上保存文件夹信息的对象。BlockList 是在我的程序中显示“块”的列表。这按预期工作,我看到该列表中的文件夹。
然后,当我展开一行时,我使用以下代码:
Dim ItemsAdded as integer
Dim CurrentFolder As FolderItem = General.GetBlocksFolder.GetRelative(me.RowTag(row))
For i As Integer = 1 To CurrentFolder.count
ItemsAdded = ItemsAdded +1
If CurrentFolder.Item(i).Directory Then
frmMain.BlockList.Append(CurrentFolder.Item(i).DisplayName, True)
frmMain.BlockList.RowTag(i+ItemsAdded) = CurrentFolder.Item(i).GetSaveInfo(GetFolderItem(""))
Else
frmMain.BlockList.Append(CurrentFolder.Item(i).DisplayName)
End if
Next
这很好用,但是当我深入到 3 个级别时,我得到一个错误。'CurrentRow' 上的 nilObjectException
有谁知道这是什么法术?
提前感谢马蒂亚斯