Passare ad un Form un valore diverso da un Intero alla chiusura di un Form secondario

Da Gambas-it.org - Wikipedia.

Nel caso si debba passare ad un Form principale un valore diverso da un Intero all'atto della chiusura di un Form secondario, potrà essere utile l'indicazione di almeno un paio di esempi. [nota 1] [nota 2|]

1° esempio

Nel Form principale abbiamo un Button ed il codice:

Public Sub Button1_Click()  
 
 Dim f As Form1  
 Dim s As New String[]  
 
 s.Push("Testo qualsiasi")  
 
 f = New Form1(s)  
 
' Un eventuale valore intero ritornato dal Metodo ".ShowModal()" in questo caso non è fondamentale:
 f.ShowModal()  
 
 Print "s = "; s[1]  
 
End

Mentre nel Form secondario (che chiamiamo ad esempio: Form1) abbiamo un Button ed il seguente codice:

Private ps As String[]  
     
     
Public Sub _new(s As String[])  

 ps = s  

End


Public Sub Button1_Click()  

 ps.Add(ps[0] & " stringa aggiunta")  

 Me.Close()  

End


2° esempio

Nel Form principale abbiamo un Button ed il codice:

Public Sub Button1_Click()  

 Dim f As Form1  
 Dim s As New String[]  

 s.Push("Testo qualsiasi")  

 f = New Form1(s)  

' Un eventuale valore intero ritornato dal Metodo ".ShowModal()" in questo caso non è fondamentale:
 f.ShowModal()  

 Print "s = "; s[0]  

End

Mentre nel Form secondario (che chiamiamo ad esempio: Form1) abbiamo un Button ed il seguente codice:

Private ps As New String[]  
 

Public Sub _new(s As String[])  

 ps = ps.Insert(s)

End


Public Sub Button1_Click()  

 Me.Close()  

End



Note

[1] Riprendiamo il codice da questa discussione del forum: http://www.gambas-it.org/smf/index.php?topic=1312

[2] In realtà la modalità, descritta in questa pagina, va bene anche per tipi di valori numerali (come ad esempio l'Intero).