Affichage des form en CSHARP

adme Messages postés 35 Statut Membre -  
Nico# Messages postés 338 Statut Membre -
Bonjour,

Voici mon probleme. J'ai un programme en csharp avec des menus et des sous-menus. Je ne veux pas qo'on affiche deux meme fenetres en meme temps. SVp aide moi..Merci

3 réponses

scriptiz Messages postés 1494 Statut Membre 425
 
Vérifie si une instance de ton processus existe déjà :)

Un petit exemple pour travailler avec les process :
https://stackoverflow.com/questions/2468994/how-to-detect-that-a-process-is-started-using-c-sharp-codewindows-service
0
Utilisateur anonyme
 
C'est plus facile et plus correct d'écrire C#
0
Nico# Messages postés 338 Statut Membre 102
 
je pense plutôt qu'il ne souhaite pas ouvrir plusieurs fois la même form.
Car avec la méthode des process il empeche l'ouverture de son application plusieur fois mais des fenetres interne à l'application.
Pour empecher l'affichage d'une fenetre plusieur fois tu peut utiliser le pattern singleton.

ce qui doit donner de tête
// Dans le fichier form2.cs
private Form2()
        {
            InitializeComponent();
        }

        private static Form2 _instanceUnique = null;
        public static Form2 InstanceUnique()
        {
            return _instanceUnique ?? (_instanceUnique = new Form2());
        }


//dans le fichier form2.designer.cs rajouter la derniere ligne _instanceUnique
protected override void Dispose(bool disposing)
        {
            if (disposing && components != null)
            {
                components.Dispose();
            }
            base.Dispose(disposing);
            _instanceUnique = null;
        }


// Pour appeler la form
Form2 frm = Form2.InstanceUnique();
            frm.Show();
0