Bonjour à tous et toutes

Voilà mon souci j'ai une form mdi par le lequel j'ouvre d'autres form hors j'ai remarqué que si je clique plusieurs fois sur le menu ouvrir de ce mdi il m'ouvre plusieurs fois de suite la même form. J'ai vu ce code qui semble correspondre à ce que je veux mais je ne sais pas comment l'utiliser

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public partial class Form2 : Form
{
    private static Form2 myInstance = null;
 
    public static Form2 getInstance() {
        if (myInstance == null)
            myInstance = new Form2();
        return myInstance;
    }
 
    private Form2() {
        InitializeComponent();
    }
}
 
public partial class Form1 : Form
{
    public Form1() {
        InitializeComponent();
    }
 
    private void Form1_Load(object sender, EventArgs e) {
        Form2 form = Form2.getInstance();
        // TODO
    }
}
est ce que quelqu'un aurait l'équivalent en vb 2003 car avec acces il y avait cette fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Function isloaded(ByVal strformname As String) As Integer
'Renvoie True si le formulaire spécifié est ouvert en mode formulaire ou feuille de données
Const conObjStateClosed = 0
Const condesignview = 0
If SysCmd(acSysCmdGetObjectState, acForm, strformname) <> conObjStateClosed Then
If Forms(strformname).CurrentView <> condesignview Then
isloaded = True
End If
End If
End Function
que l'on utilise avec l'instruction if isloaded("nomformulaire"). Un grand merci d'avance.: