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 :

Appeler un événement d’un composant dans une autre forme


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Par défaut Appeler un événement d’un composant dans une autre forme
    Bonjour tout le monde,
    J’ai crée un userform qui a des comboboxs, j’ai programmé l’événement SelectedValueChanged, Je veux créer une nouvelle userform qui as les même comboboxs, avec d’autre composants, je ne sais pas comment faire ?
    Dans le load de la nouvelle userform j’ai initialisé un instance de l’ancienne forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim fom = New l’ancienne_form
    Après j’ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            For Each c In fom.Controls
                Me.Controls.Add(c)
            Next
    Il ne me ramène pas toutes les comboboxs.

    Et merci.

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Par défaut
    Bonjour,
    voici le code qui marche pour les textboxs les labels
    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
    For Each c In Me.Controls
                If TypeOf c Is TextBox Then
                    tb = New TextBox
                    tb.Text = c.Text
                    tb.Name = c.Name
                    tb.Location = c.Location
                    tb.Visible = c.Visible
                     userform.Controls.Add(tb)
                End If
                If TypeOf c Is ComboBox Then
                    cb = New ComboBox
                    cb.Text = c.Text
                    cb.Name = c.Name
                    cb.Location = c.Location
                    userform.Controls.Add(cb)
                End If
                If TypeOf c Is Label Then
                    l = New Label
                    l.Name = c.Name
                    l.Text = c.Text
                    l.Location = c.Location
                     userform.Controls.Add(l)
                End If
            Next
    mais pour les combobox la liste est vide malgré que j'ai les rempli dans l'ancienne forme, j'ai seulement le texte du combobox qui été dans l'ancienne forme.
    Merci

  3. #3
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Par défaut
    Voici le code il me récupère la liste des items:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    If TypeOf c Is ComboBox Then
                    cb = New ComboBox
                    For i = 0 To CType(c, ComboBox).Items.Count - 1
                         cb.Items.Add(CType(c, ComboBox).Items.Item(i))
                    Next
                    cb.Text = c.Text
                    cb.Name = c.Name
                    cb.Location = c.Location
                    userform.Controls.Add(cb)
                End If
    Mais l’événement ne se déclanche pas!
    Merci.

  4. #4
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut Marshall
    en C# on appelle ça le marshalling
    mais ça fais longtemps que je ne l'ai pas utilisé
    l'idée est de récupérer l'evt sur la nouvelle fenêtre et de ce l'approprier sinon ça va bugger ...

  5. #5
    Membre expérimenté
    Avatar de Proteus91
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 150
    Par défaut Questions
    Hello kika10,

    Excuse moi je pense que je n'ai peut être pas bien compris ta demande. Mais sur le titre de ton problème tu marques que tu souhaites appeler un évènement d'un composant d'une autre forme.

    Et quand je regarde le contenu de tes messages tu marques que tu souhaites récupérer le contenu d'une ComboBox.

    P.S. Que tu récupères des ComboBox vide ne me choque pas. Si c'est possible j'aimerai que tu me donnes plus de renseignement sur ton problème pour pouvoir t'aider.

  6. #6
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut userform nouveau,clone
    bonjour,
    herites la fortune de ton grand pere,s'il est assez riche,pas besoin de travailler encore ca sert à rien ou herites de ton travail precendent.
    caramba ,et l'heritage ca serait plus efficae,car tu herites de tout y compris l'evenement programme.
    tu n'as qu'a cree un nouveau form comme suit:
    1/pointe toi sur projet
    2/ajouter un nouvel element ->elements commun->windows form->formulaire herite

    il herite de tout y compris de l'evenement et de sa gestion.
    en plus tu peux rajouter d'autres controles si tu veux en plus.
    au lieu d'ecrire tout ce "boiler-plat code"......
    bon code

  7. #7
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Par défaut
    Merci l’équipe, ça fait long temps,

    @BROWNY : oui il faut récupérer l’événement mais comment faire ?

    @Proteus91 : dans mon projet je veux faire le même traitement pour chaque table de ma base, donc je veux le faire pour une seul table et pour les autres table je veux juste appeler les méthode créer, par ce que j’ai des combo box j’ai les rempli dans la premier formule, j’ai programmé des événements pour ce combo, et pour ne pas refaire la création des combo et son remplissage, je veux juste écrire une instruction qui va me ramener le combo, son contenu et l’événement ?
    @MABROUKI : j’ai les fais m’ai il m’affiche une erreur :
    Impossible de trouver le fichier 'c:\Program Files\Microsoft Visual Studio 8\Common7\IDE\designation.xml'.
    Détails
    Par ce que dans le load de ma forme je charge un fichier (.Xml), qui se trouve dans le (bin\Debug).
    Merci l’équipe.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/03/2010, 09h21
  2. Appel d'un procedure d'événement dans une autre forme
    Par mounim_taoufik dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/12/2009, 09h22
  3. appel d'un vector créé dans une autre classe
    Par julien25 dans le forum C++
    Réponses: 18
    Dernier message: 22/03/2009, 18h47
  4. Pb d'appel d'un classe (public) dans une autre
    Par MSM_007 dans le forum Général Java
    Réponses: 5
    Dernier message: 12/05/2008, 17h12
  5. Réponses: 5
    Dernier message: 10/10/2007, 13h54

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