我正在尝试使用树视图控件显示特定表单,其节点的tag
值设置为我需要显示的表单的实例。我在 DoubleClick 事件中的代码在我第一次显示表单时效果很好,但在那之后我得到了一个对象处理异常。如您所见,我尝试通过重置标签来处理它,但这不起作用。有什么方法可以在出现异常并将标签重置为正确类型的表单时多次显示表单而无需通过 switch 语句?我想要一些更好看的东西,就像我展示表格的方式一样。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim fm2 As New Form2()
Dim fm3 As New Form3()
TreeView1.Nodes(0).Tag = fm2
TreeView1.Nodes(1).Tag = fm3
End Sub
Private Sub TreeView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.DoubleClick
Try
CType(TreeView1.SelectedNode.Tag, Form).Show()
Catch odex As ObjectDisposedException
TreeView1.SelectedNode.Tag = New Form()
TreeView1_DoubleClick(sender, e)
Catch nrex As NullReferenceException
'No node selected, do nothing.
End Try
End Sub
End Class