👤
a fost răspuns

Salut! Pentru cei ce știu C#
Am form-ul "Acasă" pe care am un TextBox1 și un buton Button1
Mai am un form "Admin" pe care am un TextBox2 și un buton Button2.
La deschiderea programului se va deschide form-ul "Acasă".
La apăsarea butonului Button1, se va deschide form-ul "Admin".
Introduc în TextBox2 textul "bun venit" și (foarte important; de aici nu știu să fac) când apăs pe Button2, textul din TextBox2 să se copieze în TextBox1.

*Treaba e de fapt mult mai complicată. Vreau ca valorile dintr-un dataGridView2 din form-ul "Admin" să mi se copieze la apăsarea butonului Button2 în datagridview1 din form-ul "Home" și tot atunci să mi se și modifice niste label-uri cu valorile din datagridview1.


Răspuns :

Am o solutie, facut cu Visual studio. Cu un proiect nou, cu form Acasa si Admin, ci 2 buttoane si 2 textboxuri. se face asa:
1
 Gasest declaratie de textBox1: private  System.Windows.Forms.TextBox textBox1;
schimba private in public. public  System.Windows.Forms.TextBox textBox1; 

2
 unde se chem Admin scrieti:
private void button1_Click(object sender, EventArgs e) 
 {           
      Admin frm = new Admin(this);          ' this este riferiment a form Acasa  
      frm.Show();       
 }

asa se da Admin access a toate datele public de form Acasa.

3
In form Admin se crea un nou constructor cu 1 parameter:

 Acasa prev;
 public Admin(Form1 _prev)
        {
            InitializeComponent();
            prev = _prev; 
       }

constructor salveaze referiment a Acasa (_prev) in variabele locale prev.

4
Cu click pe button2, se face acces la form Acasa:
        private void button2_Click(object sender, EventArgs e)
        { 
           prev.textBox1.Text = textBox2.Text; 
       }

Cand faceti exemplu mai mare: amintesti sa face PUBLIC tot ca trebuie in alt form. 
Gata.
Vezi imaginea NuPotSaStiuTot