Je tente d'afficher un formulaire spécifique à l'aide d'un contrôle treeview, dont les nœuds ont leur valeur tag
définie sur une instance de la forme que j'ai besoin d'afficher. Le code que j'ai dans l'événement DoubleClick fonctionne très bien pour la première fois que je montre un formulaire, mais après cela, je reçois une exception d'objet. Comme vous pouvez le voir, j'ai essayé de le manipuler en réinitialisant le tag, mais cela n'a pas fonctionné. Est-il possible que je puisse montrer le formulaire plus d'une fois sans passer par une instruction de commutateur chaque fois que l'exception se lève et réinitialiser l'étiquette au bon type de formulaire? Je voudrais quelque chose de plus joli ressemblant à la façon dont je montre la forme.Afficher le formulaire à partir de TreeView dans 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
Comment feriez-vous la recherche pour créer l'instance? –
Exemple ajouté, "myTag" est la valeur de votre balise actuelle –