Vb.net Visual Basic.Net ListView项
错误名称:对象引用未设置为对象的实例 ==================================================================== 这就是它的真实外观:Vb.net Visual Basic.Net ListView项,vb.net,listview,Vb.net,Listview,错误名称:对象引用未设置为对象的实例 ==================================================================== 这就是它的真实外观: If ListView2.FocusedItem.ImageIndex = 10 Then 在本例中,在访问其属性ImageIndex属性之前,请尝试检查ListView2.FocusedItem以确保它不是Null/Nothing。 以下是如何添加检查的示例: Private Sub ListVi
If ListView2.FocusedItem.ImageIndex = 10 Then
在本例中,在访问其属性ImageIndex属性之前,请尝试检查ListView2.FocusedItem以确保它不是Null/Nothing。 以下是如何添加检查的示例:
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
AndAlso之后的条件只有在AndAlso之前的条件为True时才会被检查。但是如果它为false,我如何访问该属性而不给我该错误?如果它为false,则您不需要访问该属性。为什么要费心检查一个不存在的对象的属性呢。请阅读有关错误的参考资料。基本上,表单加载时Listview2已满,我只想添加一个新项目,其中包含文本。。。所以List2iew用目录和文件填充自己,我想保留新的第一项名称。。。这意味着,在这种情况下,“后退”。因此,无论何时调用refresh方法,它都会显示项名称,但它不会执行任何操作,因此它是false。我如何修复它?
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
If Not IsNothing(ListView2.FocusedItem) AndAlso ListView2.FocusedItem.ImageIndex = 10 Then