【发布时间】:2013-12-24 07:10:00
【问题描述】:
Dim item = ListView2.Items.Add("...")
For cnt As Integer = 1 To ListView2.Columns.Count
item.SubItems.Add("")
Next
If ListView2.FocusedItem.ImageIndex = 10 Then
If TextBox2.Text.Length < 4 Then
TextBox2.Text = ""
End If
End If
我得到的错误在这里:
If ListView2.FocusedItem.ImageIndex = 10 Then
错误名称:对象引用未设置为对象的实例
================================================ ======================
实际上是这样的:
Private Sub ListView2_DoubleClick(sender As Object, e As EventArgs) Handles ListView2.DoubleClick
If ListView2.FocusedItem.ImageIndex = 0 Or ListView2.FocusedItem.ImageIndex = 1 Or ListView2.FocusedItem.ImageIndex = 2 Then
If TextBox2.Text.Length = 0 Then
TextBox2.Text += ListView2.FocusedItem.Text
Else
TextBox2.Text += ListView2.FocusedItem.Text & "\"
End If
RefreshList()
End If
'from here doesn't work
If Not IsNothing(ListView2.FocusedItem) AndAlso ListView2.FocusedItem.ImageIndex = 10 Then
If TextBox2.Text.Length < 4 Then
TextBox2.Text = ""
Else
TextBox2.Text = TextBox2.Text.Substring(0, TextBox2.Text.LastIndexOf("\"))
TextBox2.Text = TextBox2.Text.Substring(0, TextBox2.Text.LastIndexOf("\") + 1)
RefreshList()
End If
End If
End Sub
Public Sub RefreshList()
ListView2.Items.Clear()
Dim item = ListView2.Items.Add("...")
For cnt As Integer = 1 To ListView2.Columns.Count
item.SubItems.Add("")
Next
End Sub
【问题讨论】:
-
基本上 Listview2 已经在 Form_Load 上填满了,我只想添加一个带有文本“...”的新项目,所以 List2iew 用目录和文件填充自己,我想保持新的第一个项目名称“...”,在这种情况下,表示“返回”。所以它现在在调用刷新方法时显示项目名称,但它什么都不做所以它是错误的..我该如何解决这个问题?