Problem z przekazywaniem wartości między formatkami

0

Mam trzy formatki z ktorych jedna otwiera drugą a druga trzecią. I mam taki oto problem, że przy próbie przekazania tekstu z textboxa(w 1 formatce) do labela ( w 3 formatce) nic sie nie dzieje... a gdy próbuje zmienic zawartosc textboxa(form1) za pomoca buttona(f2) tez nic sie nie dzieje .... nie wiem co zle robie... oto kod który stosuje w przypadku drugim:

   Form1 f = new Form1();
            ((TextBox)(f.Controls.Find("textBox1", false)[0])).Text = button1.Text
1

Pokaż więcej kodu (szczególnie od utworzenia do wyświetlenia formatki która zmieniasz).

O wiele lepiej byłoby to rozwiązać poprzez dodanie publicznych Property lub metod do zmieniania danych tej formatki.

0

zmień właściwość Modifiers kontrolki textBox1 na public i potem normalnie przez f.textBox1.Text albo bardziej poprawnie stwórz property
public string TextBox1Text
{
get {return this.textBox1.Text;}
set {this.textBox1.Text = value}
}

i po problemie
0

Otóż już pokazuje reszte kodu( wazniejsze rzeczy):
przy otwieraniu
Modifiers textboxa jest public, mimo to w ten sposób jedyne co uzyskuje to pusty label1 w Form3 mimo ze w form1 textbox1.text ma jakas wartosc:

 private void Form3_Load(object sender, EventArgs e)
        {
           Form1 f = new Form1();
            TextBox t = new TextBox();
          t = (TextBox)(f.Controls.Find("textBox1",true)[0]);
           label1.Text = f.textBox1.Text ;
            
        }

Tutaj z kolei analogiczna sytucja przy otwieraniu form 2 za pomoca buttona tekst jest dopisywany do labela
dzieje sie tak niezaleznie od parametru modifiers kontrolki label w form2. Czymu raz to dziala a raz nie?

private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();
            f2.Show();
           Label t = new Label();
            t = (Label)(f2.Controls.Find("label1", true)[0]);
            t.Text = t.Text + textBox1.Text; 
0

czy przypadkiem Form1 nie jest główną formą? Jeśli tak to po jaki tworzysz ją ponownie i po co tworzysz nowy t jak zaraz i tak gubisz jego uchwyt. Generalnie nie mam pojęcia co chcesz zrobić, kod to totalne pomieszanie z poplątaniem. Może zacznij od napisania zrozumiale co masz (jakie formy, która jest główna, z której którą otwierasz) i co chcesz zrobić

0
  1. form2.label1.Modifiers = Public;
  2. w form1 button1_Click
    Form2 f2 = new Form2();
    f2.label1.Text += textBox1.Text;
  3. dla form3 zrób tak samo
0

juz zrobiłem tak żeby w konstruktorze przekazywały sobie formatki formatke główną i teraz działa

1 użytkowników online, w tym zalogowanych: 0, gości: 1