C# - komunikacja między formatkami

0

Witam,
mam taki problem.
Piszę małą aplikację w C#, mam w niej dwie formatki.
Jak zrobić aby wartości textBoxów z jednej były widoczne w drugiej.
Np.
otwieram formatkę nr 2, wpisuję dane użytkownika, klikam Ok, i dane które zostały podane sa widoczne w textBoxie w formatce nr 1.

0

Zrób tak, aby kontrolki, z których chcesz korzystać 'na zewnątrz' były publiczne, albo dodaj publiczne metody odczytujące wartość.

Garbage collector nie powinien chyba zbyt szybko zająć się niszczeniem formy, więc nawet po jej zamknięciu powinna istnieć jeszcze możliwość odwołania się do odpowieddnich pól/kontrolek.

0

Ja to robie zawsze tak:

  1. definiuje publiczne wlasciwosci (properties) ale tylko get - sluza do pobierania danych z okna (jesli nie wiesz co to wlasciwosci mozesz uzyc funkcji jak to napisal przedmowca); nie powinno sie udostepniac kontrolek na zewnatrz okna

  2. po nacisnieciu buttona OK ustawiam:

this.DialogResult = DialogResult.OK;

a nastepnie chowam okno:

this.Hide();
  1. teraz kod w pierwszym oknie:
...
Form2 form = new Form2();
if (form.ShowDialog(this) == DialogResult.OK)
{
    //tutaj pobierasz interesujace dane z drugiej formatki
}
...

Mam nadzieje ze troszke pomoglem. Pozdro i owocnej nauki C#!

P.S Jesli chcesz aby pola w drugik oknie byly wypelnione jakimis danymi z pierwszego okna, wystarczy zmienic konstruktor - podajesz parametry ktore zawieraja konkretne informacje.

0

A co w przypadku okien nie modalnych?

0

Wystarczy, ze scastujesz Parenta na klase odpowiedniej Formy i tam jak koledzy podpowiadaja albo publiczne kontrolki albo publiczne propertisy (to bardziej wskazane) i juz mozesz robic co Ci do glowy przyjdzie w modalnych i niemodalnych :)

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