Hej,
mam pytanie z zakresu tworzenia nowej formy - na początku mam Form1 i po kliknięciu przycisku chcę wyświetlić Form2 (to jest proste do zrobienia).
Nasuwa mi się jednak wątpliwość co do działania - jeżeli metoda ShowDialog() - powoduje, że kod programu zatrzymuje się na tym wywołaniu i czeka na zamknięcie Form2 o tyle samo Show() przechodzi do końca funkcji.
Zastanawiam się więc jak spowodować aby zadziałał poniższy przykład z wykorzystaniem samego Show() - na ShowDialog działa, ale chciałbym poznać jak to będzie w innym przypadku.
Działanie programu jest proste :
mam dwie formy : Form1 i Form2 na pierwszej jest label i przycisk, po naciśnięciu którego uruchamia Form2.
W Form2 istnieje pole TextEdit (do wpisania jakiegoś tekstu) oraz przycisk, po naciśnięciu którego przekazuję tekst z pola TextEdit do Form1.
I teraz Form1 powinien odczytać, że przycisk został naciśnięty na Form2 i zmienić tekst w labelu na ten z Form1.
A oto kod programu :
Form1 - po naciśnięciu przycisku wyświetlającego Form2:
Gdyby tam było formatka.ShowDialog() - to wszystko byłoby ok ale chce poznać sposób jak poradzić sobie w innym przypadku mianowicie Show();
private void button1_Click(object sender, EventArgs e)
{
Form2 formatka = new Form2();
[b] formatka.Show(); [/b]
if (formatka.zwroc_wcisniety())
{
label1.Text = formatka.tekst();
}
Form2 :
private bool wcisniety = false;
public bool zwroc_wcisniety(){
return wcisniety;
}
public string tekst() {
return textBox1.Text;
}
public Form2()
{
InitializeComponent();
wcisniety = false;
}
private void button1_Click(object sender, EventArgs e)
{
wcisniety = true;
}
I ostatnie pytanie - zastanawiam się jeszcze w jaki sposób mogę przechowywać na stałe wpisaną wartość w form2 tzn. użytkownik coś tam wpisze, zamknie okno i przy ponownym uruchomieniu formy2 (za pomocą przycisku z form1) wpisana poprzednio wartość nadal tam będzie. Jak to zrobić ? Prosiłbym o w miarę czytelny opis ewnt. modyfikację powyższego programu albo jakiś przykład
Dziękuje za cierpliwość i odpowiedzi
Pozdrawiam,