Przechodzenie pomiędzy podformami - jak wywołać form3 z form2 i na odwrót?

0

Mam trzy formy Form głwna, form3 do edycji i form2 do dodawania nowych obiektów. Jak wywołać form3 z form2 i na odwrót?
form2 i form3 mam tak skonstruowane żeby pracowały na formie głównej

form2

namespace Baza
{
    public partial class Nowy : Form
    {
        private readonly Baza __form;

        public Nowy(Baza form2)
        {
           __form = form2;
            InitializeComponent();
        }

form3


namespace Baza
{
    public partial class Edytuj : Form
    {
        private readonly Baza ___form;

        public Edytuj(Baza form3)
        {
            ___form = form3;
            InitializeComponent();
        }

teraz z form2 chciałbym otworzyć form3
a w form3 otworzyć form2
tak żebym mógł przeskakiwać między tymi oknami ale szczerze sam już się zakręciłem, uczę się od niedawna i mam mętlik już. Ktoś podpowie?

.

0
Edytuj edycja = new Edytuj();
edycja.Show();  

albo skorzystaj z TabControl

0
Error	1	The type or namespace name 'Form3' could not be found (are you missing a using directive or an assembly reference?

niestety

0

Czego nie rozumiesz w tym błędzie?
Nie masz Form3, jak nazwałeś okno edycji?

0

Jeśli chodzi Ci o wywoływanie nowego okna kodem typu:

            Edytuj newForm = new Edytuj();
            newForm.Show();

albo:

           using (var form = new Edytuj(this))
           {
               form.ShowDialog();
               form.Close();
           }

to były pierwsze rzeczy jakie sprawdziłem bo korzystam z nich wychodząc z funkcji głównej, w przypadku kiedy chce przejść z jednej pod funkcji do drugiej nie działają i dają błędy typu:

Error	1	'Baza.Edytuj' does not contain a constructor that takes 0 arguments	
2

W formatce Nowy:

_baza.FormEdytuj.Show(); 

aby otworzyć z niej formę edytuj, ale w głównej formie musisz mieć;

public Nowy FormNowy {get;set;}
public Edytuj FormEdytuj {get;set;}

Edit:
@plpl

class Form1 : Form
{
   public Nowy FormNowy {get;set;}
   public Edytuj FormEdytuj {get;set;}
   
   public Form1()
   {
        FormNowy = new Nowy(this);
        FormEdytuj = new Edytuj(this);
   }
}

 public partial class Edytuj : Form
    {
        private readonly Baza ___form;
 
        public Edytuj(Baza form3)
        {
            ___form = form3;
            InitializeComponent();
        }
        
        void ShowNowy()
        {
             ___form.FormNowy.Show();
             this.Hide();
        }
    }
0

Pokaż kod.

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