View Full Version : [VB.NET] Inviare una variabile ad un nuovo Form
Come posso fare per aprire un Form Figlio all'interno di un Form Padre MdiContainer in modo da passargli una Variabile invece di utilizzare un modulo e dichiarare una variabile Pubblica ???
es:
Dim a As Integer = 1
Dim x As New MyForm()
MyForm.Show()
come posso fare per inviare e raccogliere quella variabile nel "MyForm" ???
Hai due possibilità: un overload del costruttore New oppure un membro o proprietà pubblica.
Nel primo caso la variabile la passi quando instanzi il form:
'nel form figlio MyForm
Private var As Integer
Public Sub New(variabile As Integer)
MyBase.New()
var = variabile
End Sub
'nel form MDI:
Dim f As New MyForm(456) 'passo il valore intero 456
f.MdiParent = Me
f.Show()
Se invece la variabile deve poter essere letta/impostata anche in tempi successivi dalla creazione del form, allora fai così:
'nel form figlio MyForm
Private var As Integer
Public Property Variabile() As Integer
Get
Return var
End Get
Set(ByVal Value As Integer)
var = Value
End Set
End Property
'nel form MDI:
Dim f As New MyForm()
f.MdiParent = Me
f.Variabile = 456
f.Show()
Come ho fatto io e' sbagliato ???
FORM Padre:
---------------------------------------------
Dim x As New Figlio()
x.Visualizza(5)
---------------------------------------------
FORM Figlio:
---------------------------------------------
Public Sub Visualizza(ByVal i As Integer)
Me.Show()
MsgBox(i)
End Sub
---------------------------------------------
apre il Figlio e un MsgBox con il 5 stampato !!!
TROVATO !!!!!!!!
e' il modo perfetto !!!
Definisco un overload per il costruttore di "MyForm" cioe il Figlio,
Public sub new(ByVal MiaVariabile As Integer)
End Sub
Nel Form Padre:
Dim x As New MyForm(5)
x.Show()
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.