OVH Cloud OVH Cloud

Accès aux variables d'un autre window form

3 réponses
Avatar
Josée
Bonjour !

Comment peut-on acc=E9der aux contr=F4les d'une feuille=20
(window form) quand on est dans une autre feuille ?=20
Sommes-nous obliger de cr=E9er des instances de feuille?

Lorsque je cr=E9e des instances de feuille (exemple dim frm=20
as new frmFournisseur) j'ai acc=E8s aux contr=F4les de la=20
feuille frmFournisseur mais toutes les infos sont=20
r=E9initialiser (ce qui est normal puisque l'on effectue un=20
new).

Moi je voudrais avoir acc=E8s au contenu de mes contr=F4les,=20
est-ce que c'est possible?

En VB 6.0, c'=E9tait tr=E8s simple puisqu'on avait acc=E8s =E0=20
toutes les feuilles sans cr=E9er des instances.

Merci.

3 réponses

Avatar
Aurélien [MS]
Bonjour,

Tu peux par exemple passer une référence de ta Form1 au constructeur de ta
Form2 (après avoir surchargé le constructeur de celle-ci).
De cette manière tu auras accès à ta Form1 (et à ses contrôles) depuis le
Form2.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"Josée" a écrit dans le message de
news: 468601c4c5b4$f2a325e0$
Bonjour !

Comment peut-on accéder aux contrôles d'une feuille
(window form) quand on est dans une autre feuille ?
Sommes-nous obliger de créer des instances de feuille?

Lorsque je crée des instances de feuille (exemple dim frm
as new frmFournisseur) j'ai accès aux contrôles de la
feuille frmFournisseur mais toutes les infos sont
réinitialiser (ce qui est normal puisque l'on effectue un
new).

Moi je voudrais avoir accès au contenu de mes contrôles,
est-ce que c'est possible?

En VB 6.0, c'était très simple puisqu'on avait accès à
toutes les feuilles sans créer des instances.

Merci.
Avatar
Josée
Merci pour la réponse mais comme je suis nouvelle en
VB.Net, j'aurais besoin de plus d'explication. As-tu des
exemples de code pour m'aider à comprendre.

Merci encore.



-----Message d'origine-----
Bonjour,

Tu peux par exemple passer une référence de ta Form1 au


constructeur de ta
Form2 (après avoir surchargé le constructeur de celle-


ci).
De cette manière tu auras accès à ta Form1 (et à ses


contrôles) depuis le
Form2.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.


"Josée" a écrit


dans le message de
news: 468601c4c5b4$f2a325e0$
Bonjour !

Comment peut-on accéder aux contrôles d'une feuille
(window form) quand on est dans une autre feuille ?
Sommes-nous obliger de créer des instances de feuille?

Lorsque je crée des instances de feuille (exemple dim frm
as new frmFournisseur) j'ai accès aux contrôles de la
feuille frmFournisseur mais toutes les infos sont
réinitialiser (ce qui est normal puisque l'on effectue un
new).

Moi je voudrais avoir accès au contenu de mes contrôles,
est-ce que c'est possible?

En VB 6.0, c'était très simple puisqu'on avait accès à
toutes les feuilles sans créer des instances.

Merci.


.



Avatar
Aurélien [MS]
Bonjour,

Voici un exemple.
J'ai 2 Forms qui sont Form1 et Form2.
Sur Form1, j'ai un Label (Label1) et un bouton.
Sur Form2, j'ai un TextBox et un bouton.
Quand je clique sur le bouton de Form1, je crée un instance de Form2.
Quand je clique sur le bouton de Form2, j'affecte au Label de Form1 la
valeur du Textbox de Form2 (j'espère que c'est clair :o)))

Voici mon code.
Clic sur le bouton de Form1 :
=================== Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim f2 As New Form2(Me)
f2.Show()
End Sub


Form2 :
===== 'Je surcharge le constructeur:
Private mForm As Form1
Public Sub New(ByVal myForm As Form1)
MyBase.New()
mForm = myForm
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub

'Clic sur le bouton de Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
mForm.Label1.Text = TextBox1.Text
End Sub



J'espère que l'exemple te convient.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"Josée" a écrit dans le message de
news: 4a3401c4c65f$be9efde0$
Merci pour la réponse mais comme je suis nouvelle en
VB.Net, j'aurais besoin de plus d'explication. As-tu des
exemples de code pour m'aider à comprendre.

Merci encore.



-----Message d'origine-----
Bonjour,

Tu peux par exemple passer une référence de ta Form1 au


constructeur de ta
Form2 (après avoir surchargé le constructeur de celle-


ci).
De cette manière tu auras accès à ta Form1 (et à ses


contrôles) depuis le
Form2.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.


"Josée" a écrit


dans le message de
news: 468601c4c5b4$f2a325e0$
Bonjour !

Comment peut-on accéder aux contrôles d'une feuille
(window form) quand on est dans une autre feuille ?
Sommes-nous obliger de créer des instances de feuille?

Lorsque je crée des instances de feuille (exemple dim frm
as new frmFournisseur) j'ai accès aux contrôles de la
feuille frmFournisseur mais toutes les infos sont
réinitialiser (ce qui est normal puisque l'on effectue un
new).

Moi je voudrais avoir accès au contenu de mes contrôles,
est-ce que c'est possible?

En VB 6.0, c'était très simple puisqu'on avait accès à
toutes les feuilles sans créer des instances.

Merci.


.