Как открыть или закрыть форму

admin

Администратор
Сообщения
607
Оценка реакций
65
Форма откроется поверх другой формы, как модальное окно:
C#:
private void button1_Click(object sender, EventArgs e)
{
    Form ifrm = new Form2();
    ifrm.ShowDialog();
}
Открытие форм учитывая их положение:
Form1
C#:
private void button1_Click(object sender, EventArgs e)
{
    Form ifrm = new Form2();
    ifrm.Left = this.Left; // задаём открываемой форме позицию слева равную позиции текущей формы
    ifrm.Top = this.Top; // задаём открываемой форме позицию сверху равную позиции текущей формы
    ifrm.Show(); // отображаем Form2
    this.Hide(); // скрываем Form1 (this - текущая форма)
}
Form2
C#:
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
    // вызываем главную форму, которая открыла текущую, главная форма всегда = 0 - [0]
    Form ifrm = Application.OpenForms[0];
    ifrm.StartPosition = FormStartPosition.Manual; // меняем параметр StartPosition у Form1, иначе она будет использовать тот, который у неё прописан в настройках и всегда будет открываться по центру экрана
    ifrm.Left = this.Left; // задаём открываемой форме позицию слева равную позиции текущей формы
    ifrm.Top = this.Top; // задаём открываемой форме позицию сверху равную позиции текущей формы
    ifrm.Show(); // отображаем Form1
}
 
Верх