Ouverture et Fermeture d'un form [Résolu]

Signaler
-
 oli4584 -
Bonjour, Bonsoir , tout le monde
C'est mon premier sujets donc soyez indulgent un peux :)
Donc mon problème c'est que je veux ouvrir une form seulement une fois avec un bouton et quand je reclique sur mon bouton sa referme la form donc en Vb.net j'avais ma façon de faire mais en C# sa ne fonctionne pas sois les forms s'ouvre toujours ou sois je fais avec ActiveForm , etc. et si j'ai une autre form que je ne veux pas fermer elle se fermer donc je ne sais pas si j'ai été claire mais si vous pouriez m'aidez sa serais vraiment génial

5 réponses

Messages postés
65
Date d'inscription
jeudi 1 septembre 2011
Statut
Membre
Dernière intervention
22 juillet 2014
7
Et essaye ça
class Form1 : Form
{
    private Form2 _from2; // Form que tu comptes ouvrir avec ton bouton
    private bool _isForm2Open = false;

    public Form1()
    {
        InitializeComponent();
        _form2 = new Form2();
    }

    private void MonBouton_Click(object sender, EventArgs e)
    {
        if (_isForm2Open)
        {
            _form2.Close();
            _isForm2Open = false;
        }
        else
        {
            _form2 = new Form2();   // Réinitialisé la form à chaque ouverture
            _form2.Show();
            _isForm2Open = true;
        }
    }
}



BinKentsu
Messages postés
65
Date d'inscription
jeudi 1 septembre 2011
Statut
Membre
Dernière intervention
22 juillet 2014
7
Bonjour, essaye ceci dans l'événement de ton click sur le bouton :

Form test = null; 
test = Application.OpenForms["Le nom de ta form"]
if (test != null)
  // Tu fermes ta form
else
  // Tu ouvres ta form
test = null;

BinKentsu
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
39
Salut

Tu peux essayer un truc du genre :
class Form1 : Form
{
    private Form2 _from2; // Form que tu comptes ouvrir avec ton bouton
    private bool _isForm2Open = false;

    public Form1()
    {
        InitializeComponent();
        _form2 = new Form2();
    }

    private void MonBouton_Click(object sender, EventArgs e)
    {
        if (_isForm2Open)
        {
            _form2.Close();
            _isForm2Open = false;
        }
        else
        {
            _form2.Show();
            _isForm2Open = true;
        }
    }
}


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
La solution de krimog est la meilleur mais dès que je veux ouvrir une deuxième fois ma form2 Visual studio me dit qu'il ne peux pas accédé a un objet supprimer même en changeant private Form2 _form2; en private Form2 _form2 = new form2(); sa ne fonctionne pas et je ne sais pas trop comment faire
Merci beaucoup pour ta réponse tout fonctionne maintenant