none
Detecter form déjà ouverte RRS feed

  • Question

  • Salut a tous

    Je développe une application WPF en C#. J'avoue être débutant et voici mon problème.

    J'ai deux formulaires Form1 et Form2. J'ouvre Form2 à partir de Form1. Mais avant l'ouverture de Form2, je voudrais savoir si elle n'est pas déjà ouverte.

    Merci d'avance pour vos réponses.


    tontonKouam

    vendredi 22 mars 2013 22:07

Réponses

  • Merci Beaucoup Sami CHNITER après quelques mise à niveau tous marche comme je veux.

    Encore merci et voici le code qui marche. J'espère que ça pourra aider d'autre personnes

    bool isFormAlreadyOpen = false;            

                foreach (Window frm in Application.Current.Windows)
                {
                    if (frm.ToString() == "Form2")
                    {
                        isFormAlreadyOpen = true;                  
                    }
                }

                if (isFormAlreadyOpen == false)
                {            
                    Form2 frm2= new Form2();
                    frm2.Show();
                }           


    tontonKouam

    samedi 23 mars 2013 00:38

Toutes les réponses

  • Bonjour,

    Essayer avec ce code (à implémenter dans le Form1):

                bool isFormAlreadyOpen = false;            
    
                foreach (Form frm Application.OpenForms)
                {
                    if (frm is Form2)
                    {
                     frm.BringToFront();                    
                     isFormAlreadyOpen = true;
                    }
                }
    
                if (isFormAlreadyOpen == false)
                {            
                    Form2 frm2= new Form2();
                    frm2.Show();
                }            
           
    
    

    cordialement


    Sami CHNITER Software Engineer

    vendredi 22 mars 2013 22:54
  • Merci Sami CHNITER pour ta réponse. seulement j'ai un petit problème avec l'instruction Application.OpenForms parce que je n'arrive pas à accéder à OpenFroms d'application.

    Est-ce que je peux avoir plus d'info? Je rappel que je développe en Visual Studio 2012 une application Wpf en C#

    Merci encore pour votre réponse et j'espère que vous me répondrai encore une fois.


    tontonKouam

    vendredi 22 mars 2013 23:52
  • Désolé, je n'ai pas bien lire votre question, avec WPF essayer avec Application.Current.Windows

    Sami CHNITER Software Engineer

    samedi 23 mars 2013 00:15
  • Merci Beaucoup Sami CHNITER après quelques mise à niveau tous marche comme je veux.

    Encore merci et voici le code qui marche. J'espère que ça pourra aider d'autre personnes

    bool isFormAlreadyOpen = false;            

                foreach (Window frm in Application.Current.Windows)
                {
                    if (frm.ToString() == "Form2")
                    {
                        isFormAlreadyOpen = true;                  
                    }
                }

                if (isFormAlreadyOpen == false)
                {            
                    Form2 frm2= new Form2();
                    frm2.Show();
                }           


    tontonKouam

    samedi 23 mars 2013 00:38