IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

fermeture d'une fenêtre lors de l'ouverture d'une autre dans un même projet


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 254
    Par défaut fermeture d'une fenêtre lors de l'ouverture d'une autre dans un même projet
    Bonsoir,

    J'ai deux fenêtres dans mon projet: windowsform, lorsque j'exécute sava, la premiére fenêtre s'affiche, je click sur un bouton elle ouvre la deuxiéme fenêtre mais elle ne se ferme pas, et c'est ça mon problème, j'ai créer une instance de la premiére fenêtre dans ma Form2, et crée l'évennement, Load, pour que quant la deuxiéme form s'affiche la première se ferme avec l'instruction: f1.close(), mais ça ne fonctionne pas, et c'est toute à fait logique, ci dessous vous trouverez mon code, s'il vous plaît aidez moi à résoudre ce petit problème, petit pour vous un peut plus grand pour moi, parceque je suis entrain d'apprendre

    Form1:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    namespace psy
    {
        public partial class Form1 : Form
        {
     
            private string login, mp;
            Form2 myForm2 = new Form2();
            public Form1()
            {
                InitializeComponent();
                SetStyle(ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
            }
     
            protected override void Dispose(bool disposing)
            {
                if (disposing)
                {
                    if (components != null)
                    {
                        components.Dispose();
                    }
                }
                base.Dispose(disposing);
            }
     
     
            private void button1_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }
     
            private void button2_Click(object sender, EventArgs e)
            {
                login = textBox1.Text;
                mp = textBox2.Text;
                if (login == "admin" && mp == "admin")
                {
                    //comment faire pour garder la forme 2 ouverte et fermer la forme 1 
                    //this.Close();
     
                    myForm2.Show();
                }
                else
                    MessageBox.Show("Veuillez vérifier votre login et mot de passe", "Erreur de saisie", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
     
            }
     
     
     
        }
    Form2:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    namespace psy
    {
        public partial class Form2 : Form
        {
            public Boolean Tr = false;
            private string d, dd;
            String elemSelected = ""; //this.comboBoxTypeFichier.Text;
            int itemSelected = 0;
            public string NomFormAffiche = "";
            private DateTime taw = new DateTime();
     
     
     
            public Form2()
            {
                InitializeComponent();
            }
     
                 private void Form2_Load(object sender, EventArgs e)
            {
                taw = DateTime.Now;
                d = taw.ToString("dddd");
                dd = d.ToString();
                this.label1.Text = d + " le: ";
                this.label2.Text = taw.ToString();
                //myForm1.Close();
            }
     
            private void quitterToolStripMenuItem_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }
     
     
     
        }
    Merci infiniment,

  2. #2
    Membre éprouvé Avatar de bobmidou
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 121
    Par défaut
    Salut

    Je pense que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Exit(); // ferme toute l'application
    alors essaye de mettre Close() ou dispose()

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 254
    Par défaut
    J'ai essayer mais ça ne marche tj pas

    en fait mon problème c'est non seulement la fermeture de la Form1 qui contient le contrôle déclenchant l'ouverture de la Form2, mais aussi, l'ouverture de celle çi, elle ne s'ouvre, que lorsque j'écrit: Application.run(new Form2()); dans main, est ce qu'il y a une autre façon d'ouvrire une forme, sans passer par le main? je croi que non

    Je m'excuse si je n'ai pas bien formuler ma question.

  4. #4
    Membre éprouvé Avatar de bobmidou
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 121
    Par défaut
    Salut

    Si j'ai bien compris tu as 2 forms à part la form principale ?
    La fermeture d'une form ouvre l'autre ?

    et dans chaque form tu mes un bouton pour fermer celle-ci et ouvrir l'autre ?

    désolé si je te suis pas bien

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 254
    Par défaut
    oui pour : 2 Forms à part la Form principale, je ne sais pas si c'est ça ou non, j'ai Trois form, la prmiére c'est la principale, puis la deuxiéme qui contient un combobox, et un label, je veux que la troisiéme form, ne soit ouverte que lorsque [l'on choisie un paramètre parmis ceux présent dans ma combobox et lorsque l'on click sur ce label]. donc non pour le bouton qui ouvre la troisiéme form.
    Et quant la troisiéme forme s'ouvre, la deuxiéme forme soit fermé, j'espère que ça devient plus clair, mais merci quant même

  6. #6
    Membre éprouvé Avatar de bobmidou
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 121
    Par défaut
    Salut

    f1 ouvre f2 (avec load)
    et f2 ouvre f3
    f3 avec load ferme f2

    essaye dans l'ouverture de f3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     private void Form3_Load(object sender, EventArgs e)
    {
         ActiveForm.Close();
    }
    bonne chance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/04/2013, 11h06
  2. [WD9] Erreur lors de de l'ouverture d'une fenêtre
    Par ahmedess dans le forum WinDev
    Réponses: 6
    Dernier message: 15/12/2011, 08h27
  3. Réponses: 7
    Dernier message: 31/07/2009, 12h45
  4. Ouvrir une fenêtre en pop-up à partir d'une fenêtre pop-up
    Par beji15 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/02/2008, 19h41
  5. Réponses: 12
    Dernier message: 06/06/2006, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo