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

C# Discussion :

Ouvrir une fenêtre et fermer une autre fenetre [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 62
    Par défaut Ouvrir une fenêtre et fermer une autre fenetre
    Bonjour a tous !

    Je suis débutant en C#, donc je m'initie petit a petit depuis hier car je dois créer une mini application pour mon entreprise dans le cadre de mon stage.

    La page concerné par mon problème est une page de connexion. J'ai deux boutons et deux textbox login et mdp. Quand je clique sur "Valider", j'ai une messagebox qui s'affiche avec "Connexion réussie" a l'intèrieur.

    Mon soucis, c'est que je souhaite afficher une nouvelle fenêtre (Form2) suite a ce messagebox et fermer mon Form1. Après certaines je recherche j'ai trouvé comment instancier mon form2 et l'afficher. Problème : Quand je valide la messagebox, 1) si j'écris "form1.close();" tout se ferme, 2) la fenetre form2 s'ouvre puis se ferme directement et c'est mon principale problème.

    Voici mon code :

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Data.SqlClient;
     
    namespace WindowsFormsApp3
    {
        public partial class Form1 : Form
        {
            Form Form2 = new Form();
            public Form1()
            {
                InitializeComponent();
     
            }
     
            public void button2_Click(object sender, EventArgs e)
            {
     
                try
                {
                    SqlConnection con = new SqlConnection("Server=(local); Database= Seica_Takaya;Integrated Security = SSPI; ");
                    SqlDataAdapter sda = new SqlDataAdapter("SELECT count(*) FROM Loginmdp WHERE util='" + textBox1.Text + "' AND mdp='" + textBox2.Text + "'", con);
                    DataTable dt = new DataTable();
                    sda.Fill(dt);
     
                    if (dt.Rows[0][0].ToString() == "1")
                    {
                        MessageBox.Show("Connexion réussie ! ");
                        Form2.Show();
     
     
     
     
                    }
                    else
                    {
                        MessageBox.Show("Identifiant / Mot de passe faux. Veuillez resaisir votre identifiant et mot de passe.");
                    }
     
                }
                catch(SqlException ex)
                {
                    MessageBox.Show("SQL EXCEPTION : " + ex.Message);
                }
     
     
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                this.Close();
            }
     
     
        }
    }
    Et biensur, je ne trouve pas la solution sur internet.

    Merci d'avance !

  2. #2
    Membre chevronné Avatar de WaterTwelve21
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2015
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2015
    Messages : 270
    Par défaut
    Bonjour,

    Je ne sais pas a quoi sert le Button1_Click mais un petit this.Close() apres le Form2.Show() devrait faire l'affaire.

    Edit: je viens de tester en winform , ce n'est pas le même comportement , utilise this.Hide() au lieu de this.Close()

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Form1 semble être le point d'entré de ton programme si te le fermé ton programme entier se fermé aussi.
    Donc soit :
    - Tu ne fermé pas form1 mais tu le cache .hide
    - Tu modifie le point d'entré de ton programme

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 62
    Par défaut
    D'acc. Merci. Je vais le hide alors et je le fermerai dans mon Form2. Vous auriez une idée pour le bug de fenetre ?

    Edit : je ne peux pas faire de form1.hide. Il me souligne le hide en rouge et il n'est pas dans la liste des options après form1. ?

    Edit : Oubliez tout ce que je viens de dire. Ma fenetre form2 s'ouvrez et se fermez directement parce que j'avais une erreur dans mon fichier Form1.Design.cs. J'avais un label non déclaré et ca faisait crasher mon application........ Merci en tout cas!

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Si tu ferme form1 dans form2 le problème sera le même peut importe d'où part l'ordre.
    Quel bug d'affichage ?

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    This.hide() puisque tu te trouve dans l'instance de form1

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

Discussions similaires

  1. Fermer une fenêtre à partir d'une autre (non parent)
    Par medhan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/12/2013, 15h32
  2. Réponses: 1
    Dernier message: 21/12/2007, 22h27
  3. Fermer une fenêtre DOS dans une application MFC
    Par Jahjouh dans le forum Visual C++
    Réponses: 4
    Dernier message: 19/01/2007, 15h29
  4. Comment fermer une fenêtre Child dans une application MDI
    Par bahiatoon dans le forum C++Builder
    Réponses: 9
    Dernier message: 05/10/2006, 09h57
  5. Réponses: 11
    Dernier message: 06/12/2005, 09h23

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