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 :

acceder à un controle d'un form avec un autre form


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 32
    Par défaut acceder à un controle d'un form avec un autre form
    J'ai 2 form: form1 et form2.
    Sur mon form1, j'ai une textbox: textbox1.
    Sur mon form2, j'ai un bouton: button1.
    sur mon form2, j'ai cela comme code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Class Form2
    Dim myForm1 As Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    myForm1 = New Form1()
    myForm1.textbox1.text="test"
    End Sub
    End Class
    mon problème est que la textbox1 de mon form1 ne se remplit pas de "test"?

  2. #2
    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
    bonjour

    mon problème est que la textbox1 de mon form1 ne se remplit pas de "test"?
    Quel est ton souci exact?
    Ton form1 se montre-t-il au moins?

  3. #3
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour rafafa87,

    Comme le suppose MABROUKI soit il te manque la partie permettant d'afficher le form1 soit je n'ai absolument rien compris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Public Class Form2
    Dim myForm1 As Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    myForm1 = New Form1()
    myForm1.textbox1.text="test"
    myForm1.Show()
    End Sub
    End Class

  4. #4
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut Bonjour rafara87
    Bonjour rafara87
    Je vous suggère le programme suivant,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Class Form2
    Dim myForm1 As Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Form1.textbox1.text="test"
    Form1.Show()
    End Sub
    End Class
    Cordialement.

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    erreur de débutant, le new sert à créer une instance
    les forms sont des classes commes les autres, à un instant T on peut avoir plusieurs instances
    même si tu n'en as pas besoin dans ton programme techniquement il est possible d'avoir plusieurs form1

    new form1 créé une nouvelle form, sans .show elle n'est pas affiché, et c'est donc le textbox d'une nouvelle form1 que tu modifies, pas la form1 que tu penses

    en théorie form2 doit donc connaitre l'instance de form1 à modifier, pour ca il y a plusieurs méthodes, comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class form2
      private _f1 as form1
      public sub new (f1 as form1)
         initializecomponent
         _f1 = f1
      end sub
      sub button1_click (...)
         _f1.textbox1.text = "test"
      end sub
    end class

    et dans form1 pour ouvrir form2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim f as new form2(me)
    f.show

    sinon vb aillant voulu aider les débutants créé une variable globale du nom des forms pour accéder à la dernière instance (je pense)
    donc tu pourrais éviter tout ce code et juste faire ce que dit le post au dessus
    mais ca reste déconseillé, car il y a une pointe d'aléatoire en plus du fait que ce n'est pas très propre
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir rafafa87,

    Pour faire court et revenir sur ce que dis pol63 au dessus, il faut que tu passes ton form1 en paramètre à ton form2 et il est clair que si tu prends l'habitude de faire ainsi tu maitriseras toutes tes instances et leurs accès.
    Je ne t'ai pas parlé de cela car j'ai déjà traité ce genre de sujet 3 ou 4 fois sur le fofo......


    A+

Discussions similaires

  1. Acceder a une listbox depuis d'autre form avec une class
    Par NazOok dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/05/2011, 11h16
  2. Comment acceder au control d'une form depuis une autre form?
    Par UnSofteuxAmateur dans le forum Windows Forms
    Réponses: 11
    Dernier message: 05/07/2007, 12h18
  3. appler un controle qui se trouve dans une autre form
    Par mstic dans le forum Windows Forms
    Réponses: 18
    Dernier message: 06/05/2007, 19h11
  4. Réponses: 12
    Dernier message: 22/02/2007, 23h38
  5. Réponses: 3
    Dernier message: 01/02/2007, 22h25

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