Form i metody ShowDialog i Show.

Wszystko co dotyczy tworzenia i optymalizacji stron internetowych oraz programowania
compiler

Użytkownik
Posty: 8
Rejestracja: 13 paź 2011, 16:41

Form i metody ShowDialog i Show.

Post15 paź 2011, 15:33

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();

Kod: Zaznacz cały

  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 :

Kod: Zaznacz cały


        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,


  • Reklama

Wróć do „Webmastering i programowanie”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości