Differenze tra le versioni di "Passare ad un Form un valore diverso da un Intero alla chiusura di un Form secondario"
Riga 1: | Riga 1: | ||
− | 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 | + | 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. <SUP>[[[#Note|nota 1]]]</sup> <SUP>[[[#Note|nota 2]]|]</sup> |
− | Nel Form principale abbiamo un Button ed il codice: | + | ===1° esempio=== |
+ | Nel ''Form'' principale abbiamo un ''Button'' ed il codice: | ||
Public Sub Button1_Click() | Public Sub Button1_Click() | ||
Riga 11: | Riga 12: | ||
f = New Form1(s) | f = New Form1(s) | ||
− | <FONT color=gray>' ''Un eventuale valore intero ritornato dal | + | <FONT color=gray>' ''Un eventuale valore intero ritornato dal Metodo ".ShowModal()" in questo caso non è fondamentale:''</font> |
− | f.<FONT color= | + | f.<FONT color=red>ShowModal()</font> |
Print "s = "; s[1] | Print "s = "; s[1] | ||
End | End | ||
− | |||
− | |||
Mentre nel ''Form'' secondario (che chiamiamo ad esempio: ''Form1'') abbiamo un ''Button'' ed il seguente codice: | Mentre nel ''Form'' secondario (che chiamiamo ad esempio: ''Form1'') abbiamo un ''Button'' ed il seguente codice: | ||
Private ps As String[] | Private ps As String[] | ||
Riga 37: | Riga 36: | ||
End | 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) | ||
+ | |||
+ | <FONT color=gray>' ''Un eventuale valore intero ritornato dal Metodo ".ShowModal()" in questo caso non è fondamentale:''</font> | ||
+ | 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 | ||
+ | |||
Versione delle 05:11, 22 lug 2024
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).