View Full Version : Passare matrice da Form 2 a Form 1
michele42
15-10-2012, 15:12
Salve ragazzi, scusate se apro una nuova discussione per parlare di un argomento già discusso in precedenza, ma purtroppo non sono riuscito a seguire nessuna guida.
Ecco la variabile che devo trasportare
public partial class Form2 : Form
{
public string[,] assignament = new string[12, 2] { { "0", "a" }, { "1", "s" }, { "2", "d" }, { "3", "f" }, { "4", "g" }, { "5", "h" }, { "6", "j" }, { "7", "k" }, { "8", "l" }, { "9", "ò" }, { "10", "à" }, { "11", "ù" }};
}
Questa variabile la devo trattare anche nel FORM3.
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
assignament[0,1]= textBox2.Text;
}
La variabile deve essere "public" perchè la devo trattare in tutto il Form.
Grazie dell'aiuto
[Kendall]
15-10-2012, 18:28
Non conosco il modo nel quale viene trattata questa variabile, ma se la tratti un po' come una variabile "globale" ti conviene creare a sto punto una classe statica e mettere il tutto al suo interno come una variabile statica pubblica. Così è accessibile e modificabile da ogni form del tuo programma indipendentemente da come esso viene creato.
Aggiungi un modulo e dichiara li' dentro la matrice pubblica.
michele42
16-10-2012, 06:56
E come la dichiaro questa variabile statica? O eventualmente come aggiungo un nuovo modulo?
Scusate la mia ignoranza ma sono ancora alle prime armi
[Kendall]
16-10-2012, 09:39
E come la dichiaro questa variabile statica? O eventualmente come aggiungo un nuovo modulo?
Scusate la mia ignoranza ma sono ancora alle prime armi
Non ho ben capito cosa intenda TRUTEN per modulo, ma nel caso della classe statica la si definisce così:
public static class StaticVariables
{
static StaticVariables()
{
}
public static string[,] assignament = assignament = new string[12, 2] { { "0", "a" }, { "1", "s" }, { "2", "d" }, { "3", "f" }, { "4", "g" }, { "5", "h" }, { "6", "j" }, { "7", "k" }, { "8", "l" }, { "9", "ò" }, { "10", "à" }, { "11", "ù" } };
}
Puoi accedere ad assignament in qualsiasi parte del tuo programma semplicemente digitanto "StaticVariables.assignament", in questo caso sia in lettura che in scrittura.
static StaticVariables() è un costruttore statico, non devi specificare nessun identificatore di visibilità (quindi niente public, private, ecc..) in quanto non è un costruttore al quale hai accesso ma che viene chiamato molto semplicemente all'inizio del programma o prima del primo utilizzo della classe. In questo caso è vuoto perchè l'ho messo solo per mostrartelo, ma lì dentro puoi eseguire qualsiasi operazione sulle variabili statiche.
michele42
16-10-2012, 19:44
Grazie infinite, finalmente, grazie al tuo aiuto, ho risolto il problema =). Grazie ancora!
[Kendall]
16-10-2012, 19:48
Figurati, piacere di essere d'aiuto ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.