Passaggio di valore da un "Form" ad un altro.

di il
2 risposte

Passaggio di valore da un "Form" ad un altro.

Il problema è il seguente:
Come posso riuscire a far passare il valore di una variabile (nel mio caso chiamata "numero") da un Form iniziale (chiamato "SITO") ad un Form secondario (chiamato "SITO2"). Per ora sono solo riuscito a creare, da un bottone nel primo Form, il secondo Form. Oltre che, anche, ad assegnare il valore della variabile tramite una TextBox nel Form "SITO". Il problema dunque, sempre se non riuscito a spiegarmi bene è: far passare quel valore nel Form "SITO2".

Questo è il codice che scrivo nel primo Form all'interno del bottone "button1":

        private void button1_Click(object sender, EventArgs e)
        {
            numero = Convert.ToInt32(txtn.Text);
            SITO2 f2 = new SITO2();
            f2.ShowDialog();
        }
La variabile "numero" viene inizializzata come GLOBALE (nel primo form):

int numero = 0;
Nel secondo Form poi vorrei stampare quel valore (per verificare che l'abbia acquisito), con una "MessageBox", che si esegue una volta premuto il bottone "button1" nella seconda Form:

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("IL numero è: " );
        }
Ho provato anche a cercare su internet delle soluzioni, ma trovo che siano molto complesse, l'unica che sono quasi riuscito a capire è quella che utilizza una "proprietà", però non l'ho ben capita.
Grazie in anticipo.

2 Risposte

  • Re: Passaggio di valore da un "Form" ad un altro.

    Puio aggiungere un costruttore da te creato oppure valorizzare un campo :
    
    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string s = "valore di test";
                Form2 f = new Form2(s);
                f.Show();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                Form2 f = new Form2();
                f.campoPubblico = "testo di prova";
                f.ShowDialog();
               
            }
        }
    
    
    public partial class Form2 : Form
        {
            private string val = null;
            public string campoPubblico=null;
            public Form2()
            {
                InitializeComponent();
            }
            public Form2(string valore)
            {
                InitializeComponent();
                this.val = valore;
    
            }
            private void Form2_Load(object sender, EventArgs e)
            {
    
            }
        }
    
  • Re: Passaggio di valore da un "Form" ad un altro.

    Per far capire meglio il quesito, l'ho semplificato, ma il vero problema sarebbe poter far passare il valore di 3 vettori da un form1 ad un altro, poi cambiare il valore di questi (cambiarli nel Form2) per poi riportare i valori cambiati nel Form1. Non sono molto esperto del c#, se puoi darmi spiegazioni migliori riguardo a ciò che hai scritto mi faresti un piacere (perché non l'ho ben capito). Scusa se scrivo giorni dopo, però ho avuto da fare con altri progetti e questo lo avevo lasciato un attimo nel "dimenticatoio".
Devi accedere o registrarti per scrivere nel forum
2 risposte