ongelma:
ensimmäisellä formilla on textbox tabcontrolilla, johon syötetty tieto pitäisi saada näkyviin seuraavan lomakkeen Label issa???
ensimmäisellä formilla on textbox tabcontrolilla, johon syötetty tieto pitäisi saada näkyviin seuraavan lomakkeen Label issa???
Vastaukset 3
Vanhimmat
lisää formiin luokkaan string -tyyppinen julkinen muuttuja ja päivitä se ennen kuin avaat uuden formin, jonka jälkeen voit viitata tähän muuttujaan muissa formeissa. Esim näin:
Form1
-----
public string strTest;
ja sitten koodi, jolla muuttuja strTest päivitetään textboxista ja avataan uusi form2:
private void button1_Click(object sender, System.EventArgs e)
{
strTest = this.textBox1.Text;
Form F2 = new Form2();
this.AddOwnedForm(F2);
F2.Show();
}
Form2
-----
Päivitetään Form2:n textbox Form1:n textboxin sisällöllä:
private void Form2_Load(object sender, System.EventArgs e)
{
Form1 F1 = (Form1)this.Owner;
this.textBox1.Text = F1.strTest;
}
Parempiakin tapoja saattaa olla, mutta tämän ainakin pitäisi toimia.
...ensimmaiselta lomakkeelta pitaa saada tieto menemaan lomakkeelle kolme, ja lomakkeelta kaksi myos lomakkeelle kolme??
ensimmaiselta lomakkeelta saa tiedot siirrettya muuttujalla mutta toiselta ei onnistu!!!
Olet siis avannut uuden formin (Form3) Form2:sta, jonne pitäisi saada Form1:n kentän sisältö?
En ole kokeillut koodia, enkä takaa että toimisi, mutta koska Form1 on Form2:n owner ja Form2 on Form3:n owner, asian luulisi hoituvan Form3:ssa jokseenkin näin:
// Form3:n koodi
private void Form3_Load(object sender, System.EventArgs e)
{
Form1 F1 = (Form1)this.Owner.Owner;
this.textBox1.Text = F1.strTest;
}
eli viitataan Form3:n ownerin owneriin, joka on Form1:n instanssi.