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 :

Problème ouverture fermeture Form


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 31
    Par défaut Problème ouverture fermeture Form
    Bonjour à tous.

    Voila je rencontre un problème qui je pense semble tout bête mais que je ne trouve pas.

    J'ai deux Form :

    Dans le Form 1 j'ai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     private void LkLbtiti_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            {
                Form2 toto = new Form2();
                toto.FormClosing += new FormClosingEventHandler(f_FormClosing);
                this.Hide();
                toto.Show();
                }    
            }
    Donc en cliquant sur le LinkLabel je créer une nouvelle Form => Form2
    Cependant avant d'afficher la Form2, je test certaine chose sur celle-ci et en fonction du résultat je ferme ou non la Form2.

    Sur la Form2 j'utilise :
    Si je ferme donc la Form2, il revient dans mon LkLbtiti_LinkClicked puis affcihe alors ma Form 2 par
    dont justement je ne voulais pas qu'elle s'ouvre.

    Comment faire donc pour empecher cette ouverture de la Form2 si je l'ai déja fermé auparavant. J'espère être comprehensible ce qui n'est pas toujours le cas.

    Faut-il vraiement utiliser

    Je pense que c'est une erreur bête mais bon je commence depuis peu.

    Merci pour votre aide.

  2. #2
    Membre émérite Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Par défaut
    Salut,

    Je suis pas certain d'avoir tout pigé. Mais rajoute un boolean dans ta form2.
    Par exemple dans ta form 2 tu aurais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    isClosed = true;
    this.Close();
    ce qui donnerais ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void LkLbtiti_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            {
            Form2 toto = new Form2();    
              toto.FormClosing += new FormClosingEventHandler(f_FormClosing);  
                this.Hide();
                if(!toto.isClosed)
                toto.Show();   
                }


    Ou alors tu rajoute ca dans ta gestion d'evenement FormClosingEventHandler(f_FormClosing)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 31
    Par défaut
    Merci worm83 pour ta réponse, mais comment appeler ce boolean de ma Form2 dans m'a Form1.

    J'ai vraiment du mal avec les appeles de variable.

    Merci d'avance.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 31
    Par défaut
    Parfait Themacleod1980 je crois que c'est sa. Je test et je vous tiens au courant.

    Merci beaucoup

  5. #5
    Membre émérite Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Par défaut
    Oui il faut que tu rende ta propriété public tout simplement sinon elle ne peut pas être vue de l'extérieur.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 31
    Par défaut
    Génial merci à tous sa fonctionne.

    Bon code a tous

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    tu peux bètement mettre une propriété publique dans ta form2 du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public bool AfficherForm = True;
     
    private TestSiOuvrir()
    {
    if (Ton Test)
         AfficherForm = true;
    else
         AfficherForm = false;
    }
    Dans ta Form1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     private void LkLbtiti_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)
            {
                Form2 toto = new Form2();
                toto.FormClosing += new FormClosingEventHandler(f_FormClosing);
                this.Hide();
                if (toto.AfficherForm)
                     toto.Show();
                }    
            }
    pour pouvoir appeler une variable depuis ailleurs que ta form, il suffit de mettre ta variable "public"

    PS: Worm83 : t'es rapide pour un vers ^^

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

Discussions similaires

  1. [Débutant] Problème ouverture de form sur Visual Studio 2013
    Par jeremyvb11 dans le forum VB.NET
    Réponses: 1
    Dernier message: 25/11/2013, 08h03
  2. Problème ouverture Windows Forms
    Par lucas67 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/02/2009, 09h01
  3. Réponses: 11
    Dernier message: 10/07/2007, 20h31
  4. Problème ouverture/fermeture noeud JTree
    Par Rheym dans le forum Composants
    Réponses: 3
    Dernier message: 26/03/2007, 08h34
  5. Problème ouverture form à partir d'une var
    Par priest69 dans le forum Access
    Réponses: 1
    Dernier message: 29/11/2005, 12h21

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