ukrywanie okna i odkrywanie po zamknięciu otwartego

0

Witam!
Chcę wykonać następującą operacje:

  1. Otwarcie programu (2 przyciski) [FORM1]
  2. Po naciśnięciu przycisku ukrywa [FORM1] i otwiera [FORM2]
  3. Po zamknięciu [FORM2] otwiera się (pojawia) [FORM1]
    itd?
    Jak na razie doszedłem do tego, żeby zrobić tak:
  4. przy naciśnięciu buttona:
form2 form = new form2();
this.Hide();
form2.Show();
  1. W form2 close
form1 form = new form1();
form1.Show();

Ale to tworzy kolejne okno, a jak działać na już istniejącym?
Z góry dziękuje za pomoc.
Pozdrawiam

1

O coś takiego Ci chodzi?

public partial class Form1 : Form
{
    private readonly Form2 form2 = new Form2();

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        this.Hide();
        this.form2.Show(this);
    }
}
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    private void Form2_FormClosed(object sender, FormClosedEventArgs e)
    {
        this.Owner.Show();
    }
}
0

No własnie nie o to, bo w momencie w którym zamykam okno form2 cały program się kończy wykonywać. Chyba że coś porypałem:

namespace WpfApplication5
{
    public partial class MainWindow : Window
    {
        private readonly Window1 okno1 = new Window1();
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            this.Hide();
            this.okno1.Show(); 
        }
    }
}

oraz

namespace WpfApplication5
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void Window_Closed(object sender, EventArgs e)
        {
            this.Owner.Show();
        }
    }
}
1

Form1 :

private void button1_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2(this);
            form2.Show();
            this.Hide();
        }

Form 2:

public partial class Form2 : Form
    {
        private Form1 form1;
        public Form2(Form1 glowna)
        {
            InitializeComponent();
            form1 = glowna;
        }

        private void Form2_FormClosing(object sender, FormClosingEventArgs e)   //zdarzenie FormClosing :P
        {
            form1.Show();
        }
    }
0

Działa ;) Dziękuje za pomoc;)
Co prawda zmieniłem troszkę koncepcje bo przeniosłem w końcu (zamiast tworzyć nowe formy) w wpf'ach na na NavigationWindow, gdzie po prostu w jednym oknie otwieram nowe wpfPage, co znacznie ułatwia manewrowanie działanie na aplikacji ;)

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