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 :

Stocké form2 dans un tableau pour les fermer ultérieurement


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 11
    Points : 14
    Points
    14
    Par défaut Stocké form2 dans un tableau pour les fermer ultérieurement
    Bonjour,

    Les deux forms sont crées, j'ai un bouton afficher qui affiche une occurrence du form2. A chaque click sur le bouton un nouveaux form2 apparait et j'aimerais pouvoir les fermer un par un à l'aide d'une fonction.

    Comment différencier tous les form2 générés ??

    J'ai pensé à les stocké dans un tableau Form2[] tab_form2
    et puis Form2[num_form].close() mais ça ne fonctionne pas Voici le code :

    Code du Form1.cs auquel j'ai modifié le constructeur
    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
     
    public Form2[] list_form;
     
    private void nouveaux_form2(Point point)
            {
                Form2 frm;
                frm = new Form2(this);
    // ceci provoque une erreur
               list_form[compteur_position] = frm;
     
                frm.Opacity = 0.50;
                frm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
                frm.StartPosition = FormStartPosition.Manual;
                frm.Location = point;
                frm.ShowInTaskbar = false;
                frm.Activate();
                frm.Owner = this;            
                frm.BackgroundImage = Image.FromFile(path_img);
                frm.Show();
                nb_form2++;
            }
     
     public void ajoute_form2(Form2 frm)
            {
                list_form[compteur_position] = frm;
            }
    Lorsque j'ajoute le form crée = list_form[] tableau de form2 contenu dans le form1
    Erreur : La référence d'objet n'est pas définie à une instance d'un objet.
    Merci de m'aider.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Pourquoi pas utiliser la variable Application.OpenForm (qui contient tous les formulaires ouvert de ton application)

    Puis tu parcours le tableau, vérifie que le type de l'objet correspond à Form2 et le cas échant fermer le formulaire.

    Je te laisse voir pour les détails de l'implémentation.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/01/2014, 16h20
  2. probleme de blanc dans un tableau avec les positionnements en css
    Par rich25200 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 06/02/2007, 23h50
  3. Parcourir les Form pour les fermer
    Par David dans le forum Delphi
    Réponses: 8
    Dernier message: 04/12/2006, 13h29
  4. Réponses: 2
    Dernier message: 08/09/2006, 21h32
  5. Réponses: 1
    Dernier message: 15/05/2006, 18h43

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