Odświeżanie kontrolek po zamknięciu formy

0

Cześć!

Uruchamiam formę w DialogShowie. Chciałabym, aby po zamknięciu tej formy w formie bazowej zmieniła Text na buttonie.
Ale nie udaje mi się to?!

Chciałam użyć do tego funkcji statycznej w formie bazowej. Ale kompilator krzyczy, że nie mogę modyfikować kontrolek w klasie statycznej (co jest dla mnie dziwne).
Utworzyłam więc funkcje publiczną, którą wywołuje przy zamknięciu otwartej formy.

Co mnie zaskoczyło? - nie działa.
Debugger dochodzi, ale tekst nie zmienia się.
Najdziwniejsze, że gdy zrobię:
MessageBox.Show(button1.Text);
To wyświetla mi się to co powinno, jednak wizualnie jest to sprzeczne.

Użyłam starej sztuczki znanej z kontrolek VS metod Hide(), Show() - ale i one nie pomogły.

Proszę o pomoc Panowie :)

0

Ale kompilator krzyczy, że nie mogę modyfikować kontrolek w klasie statycznej (co jest dla mnie dziwne).
To jest zrozumiałe: kontrolki są polami (niestatycznymi) klasy formy, więc z metody statycznej nie ma do nich dostępu.

Ale nie udaje mi się to?!
Pokaż kod jak wygląda otwarcie tego dialogu i zmiana tekstu na buttonie.

0

Zmina tekst

public void Schowaj()
{
   button1.Text = "";
// kilka innych metod
}

Wywołanie okna

new GUI.FormKonfiguracja().ShowDialog();
0

Tuż przed zamknięciem okna:
new Form1().Schowaj();
próbowałam też
new Form1();
Umieszczając zawartość metody w konstruktorze.
Debuger tam dochodzi

2

robiąc new Form1 tworzysz nowe główne okno, nic dziwnego że w starym nic się nie zmienia.

        private void button1_Click(object sender, EventArgs e)
        {
            var form2 = new GUI.FormKonfiguracja();
            form2.FormClosed += new FormClosedEventHandler(form2_FormClosed);
            form2.ShowDialog();
        }

        void form2_FormClosed(object sender, FormClosedEventArgs e)
        {
            button1.Text = "";
            // kilka innych metod
        }
0

Ale ze mnie amatorka!
Teraz mi wstyd ;(

Dziękuje Azarien za pomoc :)

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