23/10/15 20:28
Salve a tutti,
ho un piccolo problemino che spero di risolvere...
Ho un form (form1) con una textBox e un Button. il valore che ho impostato nella textBox è
1.
Poi, ho creato un altro Form (form2).
Quando clicco il Button del form1, si deve aprire il form2 con un MessageBox che deve mostrare il valore della textBox che nel frattempo è stato modificato; mi spiego meglio scrivendo il codice:
nel Button ho inserito per aprire il form
Form2 f = new Form2();
f.Show();
Nel form2_load invece questo:
form1.textBox1.Text = "2";
messageBox.Show(form1.textBox1.Text);
il valore che mi dovrebbe apparire è il 2 perchè l'ho cambiato ma in realtà mi appare l'1
Come posso risolvere?
Ultima modifica effettuata da 23/10/15 20:30
23/10/15 21:00
TheDarkJuster
Crea un nuovo costruttore per form2 e passagli quello che ti serve, oppure rendi pubblico il controllo di interesse su form2
aaa
24/10/15 12:14
Ciao, grazie per la risposta
ho provato ma ancora niente
24/10/15 13:01
nessuno
Postato originariamente da file001:
ho provato
Ma cosa hai provato? Facci vedere come hai provato a mettere in pratica il suggerimento ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
24/10/15 16:43
Ultimo
Form2 f = new Form2();
f.Show();
questa parte mi fa uscire di testa, non ne capisco il senso
If ok Then GOTO Avanza else GOTO Inizia
27/10/15 8:30
gigisoft
Postato originariamente da file001:
Salve a tutti,
ho un piccolo problemino che spero di risolvere...
Ho un form (form1) con una textBox e un Button. il valore che ho impostato nella textBox è
1.
Poi, ho creato un altro Form (form2).
Quando clicco il Button del form1, si deve aprire il form2 con un MessageBox che deve mostrare il valore della textBox che nel frattempo è stato modificato; mi spiego meglio scrivendo il codice:
nel Button ho inserito per aprire il form
Form2 f = new Form2();
f.Show();
Nel form2_load invece questo:
form1.textBox1.Text = "2";
messageBox.Show(form1.textBox1.Text);
il valore che mi dovrebbe apparire è il 2 perchè l'ho cambiato ma in realtà mi appare l'1
Come posso risolvere?
Il problema è che quando mostri manualmente un form, quest'ultimo non ha visibilità dell'oggetto che l'ha chiamato (in questo caso form1)
puoi inserire in f un campo pubblico in cui metterai il riferimento alla textbox a cui f deve accedere:
// In form2 dichiarerai un campo T di tipo textbox, e poi in form1
Form2 f = new Form2();
f.T = textBox1;
f.Show();
dopodiché in f, accedendo a T, si accederà implicitamente a textBox1.
Ciao.
Luigi.
Ultima modifica effettuata da gigisoft 27/10/15 8:31
aaa