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 :

savoir si une form est ouverte pour la fermer


Sujet :

Windows Forms

  1. #21
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    C'est clair que si tu ne peux positionner la Datatable qu'à partir du constructeur, il va bien te falloir détruire l'instance et en recréer une autre avec la nouvelle datatable.

    Une autre possibilité serait de mettre à disposition une propriété Datatable à ta form.

    Cdt.

  2. #22
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Olsimare

    Ok tout est bien clair
    Je n'ai plus qu'a choisir :

    Soir détruire et reconstruire
    Soit utiliser une methode publique dans la form et lui passer la datatable : c'est sans doute le plus propre

  3. #23
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Pas encore au bout
    Bonsoir

    Je croyais arriver au but mais ca coince encore

    J'empeche une deuxieme instanciation de la form : OK
    J'appelle un fonction publique de ma form avec la datatable que je veux

    Mais si jamais l'utilisateur feme la form, comment detecter proprement avec le plus de légéreté qu'elle n'existe plus ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        // **************************************************************************************************
        private void ShowForm(DataTable dtDagChauff)
        {
          if (FrmZTour == null ) // FrmZTour membre de this !
          {
            FrmZTour = new FrmDgvZoomTour();
            FrmZTour.SelectTour += new FrmDgvZoomTour.SelectTourHandler(DgvTourSelected);
            FrmZTour.Show(this);
          }
     
     
          FrmZTour.FillDgv(dtDagChauff);
        }

  4. #24
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Tu peux t'abonner à l'évènement FormClosed de FrmDgvZoomTour dans la form qui la crée.

    Et dans le Handler, tu réinitialises ta variable FrmZTour.

    Cdt.

  5. #25
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    YES

    Merci c'est effectivement ce que j'ai fait mais je dois encore m'habituer aux delegates et abonnement d'événements !


    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
        // **************************************************************************************************
        private void ShowForm(DataTable dtDagChauff)
        {
          if (FrmZTour == null )
          {
            FrmZTour = new FrmDgvZoomTour();
            FrmZTour.SelectTour += new FrmDgvZoomTour.SelectTourHandler(DgvTourSelected);
            FrmZTour.Closed += new EventHandler(this.formClosed);
            FrmZTour.Show(this);
          }
     
          FrmZTour.FillDgv(dtDagChauff);
        }
        private void formClosed(object sender, EventArgs e)
        {
          FrmZTour.Dispose();
          FrmZTour = null;
        }

  6. #26
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Un petit alors ?

    Cdt.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Débutant] Savoir si une form est ouvert
    Par mcmana dans le forum VB.NET
    Réponses: 5
    Dernier message: 24/07/2012, 15h07
  2. Savoir si une fenêtre est ouverte et la fermer.
    Par crazyman8 dans le forum C#
    Réponses: 7
    Dernier message: 20/02/2012, 22h36
  3. [vb2003] Comment savoir si une form est ouvert
    Par Herlece dans le forum Windows Forms
    Réponses: 15
    Dernier message: 08/11/2006, 00h43
  4. Comment savoir si une form est ouverte (créé)?
    Par UnSofteuxAmateur dans le forum Delphi
    Réponses: 1
    Dernier message: 30/09/2006, 11h24
  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