''' <summary>Ouvrir un formulaire en utilisant son nom.</summary> ''' <param name="pForm_Name">Nom du formulaire.</param> ''' <param name="pDialog">Ouvrir le formualire en mode modal si 'Vrai'.</param> ''' <param name="pNamespace">Nom de l'espace de nom, si nécessaire.</param> ''' <remarks>Adapté de: http://www.daniweb.com/forums/thread191270.html, par: Teme64 ''' Pour une autre classe, il suffit de changer le type, et l'action finale. ''' </remarks> ''' Public Sub Ouvrir_Formulaire(ByVal pForm_Name As String _ , Optional ByVal pDialog As Boolean = False _ , Optional ByVal pNamespace As String = "" _ ) Dim objForm As Form 'Type formulaire Dim FullTypeName As String Dim FormInstanceType As Type 'Si le formulaire est dans un autre espace de nom If pNamespace <> "" Then pNamespace = pNamespace & "." FullTypeName = Application.ProductName & "." & pNamespace & pForm_Name 'Obtenir le type FormInstanceType = Type.GetType(FullTypeName, True, True) 'Creer une instance de ce formulaire objForm = CType(Activator.CreateInstance(FormInstanceType), Form) 'Type formulaire 'Action finale 'Afficher le formulaire selon le mode demandé If pDialog Then objForm.ShowDialog() Else objForm.Show() End If End Sub ''' <summary>Appeler un module par son nom.</summary> ''' <param name="pModul_Name">Nom du module à appeler.</param> ''' <param name="pModul_Params">Tableau de paramètre(s) si nécessaire.</param> ''' <param name="pCallType">Type de module à appeler.</param> Public Sub Appel_Module(ByVal pModul_Name As String _ , Optional ByVal pCallType As CallType = CallType.Method _ , Optional ByVal pModul_Params As Object = Nothing _ ) Dim lModul As New Procedures_Appelées CallByName(lModul, pModul_Name, pCallType, pModul_Params) End Sub ''' <summary>Classe contenant les procédures pouvant être appelées.</summary> ''' <remarks>Il peut y avoir aussi des 'Properties', des fonctions ''' autant que nécessaire. ''' </remarks> Public Class Procedures_Appelées Public Sub test(ByVal pValue As String) MsgBox(pValue) End Sub Private Sub Exemple() Ouvrir_Formulaire("form2") Appel_Module("test", "Ok") End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.