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

VB.NET Discussion :

Remplir une form avec un autre [Débutant]


Sujet :

VB.NET

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut Remplir une form avec un autre
    Bonjour,

    J'ai une Form1 qui peut appeler une Form2.
    Cette Form2 sert à manipuler des données dont certaines sont affichées dans une ListView dans la Form1.

    Form2 est appelé par une ShowDialog()

    Je voudrais que les données ajoutées dans Form2 soient ajoutées dans la ListView de Form1.
    Je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Form2.ShowDialog()
     
    Dim monListViewItem As New ListViewItem
    monListViewItem.Text = TextBox1
    monListViewItem.SubItems.Add(TextBox2)
    ...
    Form1.ListView.Items.Add(monListViewItem)
    Le problème c'est que ce code me regénère un nouveau Form1. J'ai remarqué en effet que le code passe par Sub New() de Form1.
    Donc ca ne marche pas.

    Merci de votre aide.

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Bonjour

    Essayer ceci ce n'est peut être pas le plus propre mais cela semble répondre à vos besoins :

    Code de la Form1 :

    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
     
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim dial As New Form2
     
            ' Passe une référence sur la form courante qui sera stockée dans 
            ' une  variable de la Form2
            dial.FormParent = Me
     
            dial.ShowDialog()
     
        End Sub
     
        Public Sub Add(ByVal sChaine As String)
            ' ListBox1 = Un simple ListBox ajouté par l'EDI
            ListBox1.Items.Add(sChaine)
        End Sub
    End Class
    Code de la Form2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Public Class Form2
     
        ' Servira de "pointeur" sur la Form1
        Public FormParent As Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            ' Appel de la fonction public Add de la Form1 qui ajoute une chaine 
            ' dans la listbox
            FormParent.Add("Chaine 1")
        End Sub
    End Class
    Il doit y avoir plus propre comme méthode mais je suis un peu "rouillé" en vb.net, mais cela devrait vous dépanner
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut
    Merci binou76
    Ta solution fonctionne comme je le veux

    Et même si tu ne trouves pas cette solution propre, je vais l'adopter car il n'y a pas eu beaucoup de réponses (à cause des vacances je suppose )

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

Discussions similaires

  1. [XL-2003] Remplir une forme avec un gradient à 3 couleurs
    Par martinmacfly dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/01/2010, 11h47
  2. Réponses: 8
    Dernier message: 03/11/2008, 08h07
  3. Réponses: 2
    Dernier message: 20/07/2006, 16h09
  4. Réponses: 3
    Dernier message: 23/02/2006, 15h17

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