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)