Чтобы перейти к другой форме в C#, вы можете использовать различные методы. Вот несколько подходов, которые вы можете рассмотреть:
- Использование метода Show(). Если в вашем приложении имеется несколько форм, вы можете использовать метод
Show()для отображения другой формы. Этот метод выведет желаемую форму на передний план, оставив предыдущую открытой. Вы можете скрыть текущую форму с помощью методаHide().
Form2 form2 = new Form2();
form2.Show();
this.Hide();
- Использование метода ShowDialog(). Метод
ShowDialog()аналогиченShow(), но он создает модальное диалоговое окно. Это означает, что пользователь не может взаимодействовать с предыдущей формой, пока новая форма не будет закрыта.
Form2 form2 = new Form2();
form2.ShowDialog();
- Использование метода Application.Run(). Если вы хотите переключиться между различными формами и закрыть предыдущую форму, вы можете использовать метод
Application.Run(). Этот метод запускает цикл обработки сообщений для указанной формы, фактически закрывая текущую форму и отображая новую.
Form2 form2 = new Form2();
form2.Show();
this.Close();
Application.Run(form2);
- Использование событий и делегатов. Вы можете определить собственные события и делегаты для взаимодействия между формами. Например, вы можете создать событие в первой форме и подписаться на него во второй форме. Когда событие инициируется, может отображаться вторая форма.
В форме 1:
public delegate void ChangeFormDelegate();
public event ChangeFormDelegate ChangeFormEvent;
private void ChangeFormButton_Click(object sender, EventArgs e)
{
ChangeFormEvent?.Invoke();
}
В форме 2:
public Form2()
{
InitializeComponent();
Form1 form1 = new Form1();
form1.ChangeFormEvent += DisplayForm2;
}
private void DisplayForm2()
{
this.Show();
}