HIDE / SHOW Form

0

Witam,
Są to moje pierwsze kroki w C# więc poproszę o łagodny wymiar kary....

Mam dwa formularze FORM1 i FORM2.
FORM1

  • przycisk uruchom FORM2
  • Exit

FORM2

  • na razie samo Exit

Co bym chciał...
Po naciśnięciu przycisku na FORM1 ma pojawić się FORM2 a ukryć FORM1.
Po naciśnięciu Exit na FORM2 można zamknąć FORM2 i ma pojawić się FORM1.

Niby mi to działa.... Ale zwraca błędy.

** public partial class Form1 : Form**
{
public Form1()
{
InitializeComponent();
}

    //Exit.
    private void button1_Click(object sender, EventArgs e)
    {
        this.Close();
    }
    //Uruchomienie FORM2
    private void button1_Click_1(object sender, EventArgs e)
    {
        {
        Form.ActiveForm.Hide(); // Próbowałem wszystkiego i ....
      
        var form2 = new Form2();
        form2.Show();
         }
    }
}

public Form2()
{
InitializeComponent();
}
// powrót FORM1 i Exit
private void buttom1_Click(object sender, EventArgs e)
{

     // Co jest tutaj źle??
        this.Close();
        var form1 = new Form1();
        form1.Show();
    }

Program „[17936] Nauka.exe” zakończył działanie z kodem -1 (0xffffffff).

0

Nie twórz nowego obiektu Form1 w Form2, tylko pokaż ten który ukryłeś, czyli:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

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

        private void button1_Click(object sender, EventArgs e)
        {
            form1.Show();
            this.Close();

        }
    }
0

Mam komunikat:

Błąd CS7036 Nie podano argumentu odpowiadającego wymaganemu parametrowi formalnemu „form1” elementu „Form2.Form2(Form)”

0

Poszło,
Musiałem jeszcze poprawić w kodzie przyciski... Nie podam gdzie ale działa.
Błąd Zaznaczyło w analizatorze błędów brak odwołania... poprawiłem nazwę przycisku i poszło.

Dziękuję.

Czy jako bardzo zielony w C# mogę pprosić o wyjaśnienie działania:
public partial class Form2 : Form
{
Form form1;
public Form2(Form form1)
{
this.form1 = form1;
InitializeComponent();
}

W formularzu 1 jest:
public Form1()
{
InitializeComponent();
}

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