Passaggio di valori da un altro modulo Winforms

Tutti i tutorial sui moduli di passaggio nel web sono tutti da form1, quindi aprono form2 e quindi passano il valore.

Voglio qualcosa invertire. form1 e form 2 sono aperti, quindi se fai clic su ok in form2 il valore che ottieni nel modulo 2 verrà passato nel modulo 1.

ex. form1 click buttton openform2button (modulo 2 mostra) scrivi 7 (numero 7) su un textBox (in form2) clicca il pulsante okbutton quindi il modulo 2 si chiude dopo che form2 chiude la casella di testo in form1 memorizzerà i dati in form2. quindi il 7 che inserirai nella casella di testo form2 verrà salvato e trasferito nella casella di testo form1. è ansible?

Esistono diversi modi per farlo:

  • Condividi un object modello tra form1 e form2.
  • Avere form2 esporre un evento a cui si iscrive form1. Passa i valori negli argomenti dell’evento.
  • Avere form2 esporre il valore come una proprietà pubblica che form1 legge dopo la chiusura di form2.

È ansible avere solo una proprietà pubblica su Form2 a cui Form1 accederà quando è necessario visualizzare il valore. Qualcosa come questo:

using(Form2 form2 = new Form2()) { if(form2.ShowDialog() == DialogResult.OK) { form1Logger(form2.NumberWritten); } } 

La proprietà può essere qualcosa di semplice come questo:

 class Form2 { public String NumberWritten { get{return textBox.Value;} } }