Bonjour
je veux appeler une form a partir d'une chaine de caractére càd
j'ai un variable de type string qui contient le nom d'une form est je veux appeler cette form
merci
Bonjour
je veux appeler une form a partir d'une chaine de caractére càd
j'ai un variable de type string qui contient le nom d'une form est je veux appeler cette form
merci
Peut-être trouvera tu ton bonheur ici ...![]()
Attention, ça risque de ne marcher que depuis l'assembly qui contient ta Form.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 // on charge le type Type t = Type.GetType(form_type_name); // on instancie Form maform = (Form)Activator.CreateInstance(t);
Sinon faut mettre plus d'infos, soit :
1 - le chemin complet ("MyNamespace.MySubNamespace.MesControls.MaForm"),
2 - le nom qualifié complet (Type.AssemblyQualifiedName et là je doute que tu ais envie de le taper à la main)
Le 1 c'est (il me semble) si l'assembly qui contient ta form est référencé dans celui qui appelle.
Le 2 ça marche dans tous les cas, si la dll est chargeable dans le GAC ou dans le répertoir de travail.
Sinon, si tu veux être plus sûr de trouver ton type sans passer par le nom qualifié, je pense que la classe System.Reflection.Assembly est ce qui te convient.
bjr
ce code est écrit en C#, svp comment ce code sera traduit en vb .net
merci
Je ne connais pas non plus le C# mais la traduction n'est vraiment pas compliquée ......
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ' On charge le type Dim t As Type = Type.GetType(form_type_name) ' On instancie Dim maform As Form = DirectCast(Activator.CreateInstance(t), Form)
Partager