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 :

comment dire qu'une form est fille d'une autre?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Par défaut comment dire qu'une form est fille d'une autre?
    bonjour.
    j'ai deux form (form 1 et form2) form1 et 2 sont affiché en meme temps est j'aimerai quand je ferme form1 fermer aussi form2.
    j'ai donc dis que form 2 et fille de form1:

    form2.Parent = this;

    mais ca plante a l'exécution il dit que je ne peut pas definir un parent de meme niveau.

    Pourquoi et comment dois je faire alors?

    merci

  2. #2
    Membre éclairé Avatar de NeraOne
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 218
    Par défaut
    Une form, elle a un parent et c'est comme en généalogie elle peux pas être son propre parent, d'où le plantage.
    Si Form2 est fille de Form1 alors c'est Form1 qui a créer Form2 (t'es d'accord ?) avec un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClassForm Form2 = new ClassForm();
    Donc dans Form1, tu as accès à Form2...
    Si tu veux définir un traitement à la fermeture de Form1 (en l'occurence, fermer Form2), tu dois surcharger la méthode OnClosing().
    Tu dois avoir cela dans ta classe Form1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    protected override void OnClosing(CancelEventArgs e)
    {
       //Fermeture de la fenêtre Form2
       Form2.Close();
     
       //Fermeture de base de Form1 (obligatoire)
       base.OnClosing(e);
    }
    Dis moi si c'est bien ça que tu voulais...
    ++
    Antoine

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 79
    Par défaut
    Pas besoin de créer une Form fille si tu veux juste que la Form2 soit fermée en même temps que la form 1.
    Tu crée un gestionnaire pour l'évènement FormClosing de la Form1 et tu insère le code ci-dessous.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
    privatevoid Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
    Form2.ActiveForm.Close();
    }
    

  4. #4
    Membre chevronné
    Avatar de CORBASE
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Par défaut
    Sinon tu passe par les event delegate.

    Tu abonne ta form2 à l'evenement delegate et dans le OnClose() de la form1 tu throw l'exeception
    Rien n'est impossible, c'est juste une question de temps
    C'est quoi le PureBasic ?

Discussions similaires

  1. Comment indiquer qu'une Form est celle de démarrage ?
    Par abbd dans le forum Windows Forms
    Réponses: 1
    Dernier message: 12/04/2008, 14h51
  2. [vb2003] Comment savoir si une form est ouvert
    Par Herlece dans le forum Windows Forms
    Réponses: 15
    Dernier message: 08/11/2006, 00h43
  3. Comment savoir si une form est ouverte (créé)?
    Par UnSofteuxAmateur dans le forum Delphi
    Réponses: 1
    Dernier message: 30/09/2006, 11h24
  4. Comment faire pour faire glisser un objet dans une form ?
    Par Olun dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/09/2005, 17h49
  5. Vérifier si une form est ouverte
    Par nivet dans le forum Langage
    Réponses: 6
    Dernier message: 23/11/2004, 09h17

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