Я создаю приложение C#. Я новичок в .NET-программировании. Это в основном большое приложение Windows Forms, которое отображает различные формы, все взаимосвязанные друг с другом на основе пользовательского контроля. Моя основная форма - это страница входа в систему, чтобы подтвердить, что пользователь переходит к форме меню (вторая форма), где есть варианты для пользователя. Таким образом, основная деятельность начинается с формы меню (вторая форма), она содержит ярлык с именем пользователя. Из формы меню (вторая форма) она переходит в третью форму, которая является всплывающей формой, что приводит к четвертой форме. В основном, скрыть вторую форму при перемещении в каждую форму. Теперь из четвертой формы я хочу вернуться к форме меню (вторая форма), не создавая новый экземпляр. Я пытался сделать это без новых примеров, но не повезло. Смотрите ниже код:Приложение с несколькими формами GUI C#
второй формы (меню):
private void button_Click(object sender, EventArgs e)
{
PopUp form3 = new Popup();
form3.Show();
// Hides the Menu Form(second form)
this.Hide();
}
Третья форма:
private void button_Click(object sender, EventArgs e)
{
var menu = new Menu();
menu.Hide();
// Hide Form #3
Hide();
form4.Show();
// Hide Form #3
Close();
}
Четвертая форма:
private void button_Click(object sender, EventArgs e)
{
if(grpSaved == false)
{
Form5 form5 = new Form5();
form5.Show();
form5.FormClosed += new FormClosedEventHandler(unsaved_FormClosed);
grpSaved = true;
}
else
{
var menu = new Menu();
Close();//closes fourth form
menu.Show();
}
}
Этот код создает новый экземпляр формы меню (вторая форма). Пожалуйста, помогите мне обойти эту проблему.
Если третья и четвертая формы являются всплывающими, не скрывайте вторую форму. Вместо этого используйте 'ShowDialog', чтобы отобразить третью форму как всплывающее окно. Затем, когда третья форма закрывается, управление возвращается во вторую форму, чтобы делать все, что в ней нуждается. –