Class Form et nouvelle instance

Signaler
Messages postés
1
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
29 août 2011
-
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
-
Bonjour,

Je travail actuellment avec VB.net et j'ai un problème avec
la création d'instance dans des procèdure.

J'ai 2 form(form1 et form2) et j souhaite faire le remplissage d'un textbox
par une procédure extèrieur. Ceci est un exemple simple de ce que je ne comprend pas:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim fr2 As New Form2

fr2.TextBox1.Text = "25874"
Me.TextBox1.Text = fr2.TextBox1.Text
Trans_STR()
End Sub


Public Sub Trans_STR()

Dim fr1 As New Form1
Dim fr2 As New Form2

fr1.TextBox2.Text = fr2.TextBox2.Text
End Sub

dans la procédure Sub Trans_STR() le controle fr2.TextBox2.Text et fr1.TextBox2.Text
est vide.
Je pensais que la form2 instancié par fr2 donnait en héritage les valeurs
du control fr2.TextBox2.Text c'est à dire transmet la valeur "25874".
L'aide que je demande si possible, est de comprendre ce qui se passe et
pourquoi l'instance fr1 et fr2 dans la Sub ne renseigne pas ma Form1.

Merci à tous pour votre aide





End Class

1 réponse

Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Le New créé de nouvelles instances.
Du coup, les données modifiées ne sont le pas sur la bonne form.

Dans ce cas, soit tu passe les forms à traiter par paramètre, soit par variables globales.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site