Я пытаюсь показать конкретную форму с помощью элемента управления treeview, узлы которого имеют значение tag
, установленное для экземпляра формы, которую мне нужно показать. Код, который у меня есть в событии DoubleClick, отлично работает в первый раз, когда я показываю форму, но после этого получаю исключение объекта. Как вы можете видеть, я попытался обработать его, сбросив тег, но это не сработало. Есть ли способ показать форму более одного раза, не переходя в оператор switch в любое время, когда возникает исключение, и сброс тега в нужный тип формы? Мне хотелось бы, чтобы что-то приятнее выглядело так, как я показываю форму.Показать форму из TreeView в VB.NET
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
Как бы вы могли искать экземпляр? –
Добавленный пример: «myTag» - это текущее значение тега –