Шаг 1: Создайте функции в форме Form1 для отображения других форм:
class Form1
{
public void ShowForm2() {...}
public void ShowForm3() {...}
// TODO: think about: do you need IsForm2Shown?
// TODO: think about what you want if ShowForm2 is called twice
...
}
Шаг 2: Сообщите Form2 о Form1.Дайте Form2 функцию, чтобы показать Form3 внутри Form1
class Form2
{
public Form1 Form1 {get; set;}
protected void ShowForm3InsideForm1()
{
this.Form1.ShowForm3();
}
}
Всякий раз, когда Form one создает Form2, она должна заполнить свойство Form1
.Итак, внутри Form1.ShowForm2()
:
var form2 = new Form2()
{
Form1 = this,
...
}
form2.Show();
Шаг 3: когда вы обнаружите, что в Форме 2 вы хотите «показать форму 3 в Форме 1», просто вызовите соответствующую функцию
// Somewhere inside Form2 code you decide that you want to show Form3 inside Form1:
this.ShowForm3InsideForm1();
Простой комм бонжур!