Doorgeven van variabelen.(VB.NET 2003)
Dit is een demo programma waarin
je variabelen van het ene Formulier kan doorgeven naar het andere Formulier.
Het is een van de meest gestelde vragen in Forums,toch is het belange niet zo moeilijk.
Ik ken er 3 manieren voor.
1 Gewoon direct in een label of tekstbox plaatsen van het nieuwe formulier.
2 Via een Property geprogrammeerd in het nieuwe formulier.
3 Via de constructor van het nieuwe formulier.
In mijn demo geven we 2 getallen door naar een ander Formulier waar we ze gewoon
optellen en terug weergeven naar het eerste Formulier.
De eerste manier is natuurlijk de eenvoudigste.
In de Subprocedure waar we het nieuw formulier oproepen
Dim frm As New Form2
frm.lblVar1.Text = txtVar1.Text' lblVar1 is dus de naam
van een Label in Form2
In de tweede manier gebruiken een property die is geprogrammeerd in Form2.
Eerst moeten we een Private variabele aanmaken in Form2.
Private m_var2 As Decimal
Alsookzo moeten we een Property aanmaken die deze variabele zal gebruiken om ze
zijn waarde te geven.
Public Property Var2()
As Decimal
Get
Return m_var2
End Get
Set(ByVal Value As Decimal)
m_var2 = Value
End Set
End Property
Om deze Property aan te spreken.
Dim frm As New Form2
frm.Var2 = txtVar2.Text
' Var2 is dus de naam
van een Property in Form2
De derde manier is via de Constructor van het nieuwe Formulier,daarvoor gebruik
ik Form3,zo blijft alles overzichtelijk.
Die constructor vinden we terug in de "
Windows Form Designer generated code " van het nieuwe Formulier.
Eerst maken we 2 private variabelen aan
Private m_get1 As Decimal
Private m_get2 As Decimal
Dan passen we de constructor aan.
Public Sub New(ByVal get1
As Decimal, ByVal get2
As Decimal)
MyBase.New()
m_get1 = get1
m_get2 = get2
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
Om ze nu door te geven via Form1
Dim frm As New Form3(txtVar1.Text, txtVar2.Text)
De 2 variabelen zijn doorgegeven naar Form3 en in al zijn subprocedures gekend.
Om het formulier te openen.
frm.ShowDialog()
In de Niewe Formulieren tellen we ze gewoon op,om ze daarna terug te sturen naar
Form1.
Dit is ook niet moeilijk.
Gewoon weer een Private variabele en een Property aanmaken.
Private m_resul As Decimal
Public Property Resultaat()
As Decimal
Get
Return m_resul
End Get
Set(ByVal Value As Decimal)
m_resul = Value
End Set
End Property
In Form1 na frm.ShowDialog
frm.ShowDialog()
lblResul.Text = frm.Resultaat
'Resultaat is hier een property in Form3
Je kan de demo hier downloaden
(home)