Закройте родительское окно из дочернего окна - PullRequest
0 голосов
/ 10 марта 2012

Я помещаю кнопку в родительское окно, чтобы перейти в дочернее окно.для закрытия дочернего окна я использую this.close () при нажатии кнопки, но я хочу закрыть как родительское, так и дочернее окно нажатием кнопки дочернего окна.

Ответы [ 4 ]

2 голосов
/ 10 марта 2012

Попробуйте это

If Child.ShowDialog = DialogResult.OK Then
          Parent.close
        End If

Кнопка закрытия дочерней формы

Me.diaglogresult=DialogResult.OK
1 голос
/ 10 марта 2012

Передайте родительскую форму в дочернюю форму и вызовите ее метод close в обработчике закрытых событий.

0 голосов
/ 07 февраля 2014
    private void btnOpenForm_Click(object sender, EventArgs e)
    {
        Form2 frm2 = new Form2();
        frm2.FormClosed += new FormClosedEventHandler(frm2_FormClosed);
        frm2.Show();
        this.Hide();
    }


    private void frm2_FormClosed(object sender, FormClosedEventArgs e)
    {
        this.Close();
    }
0 голосов
/ 10 марта 2012

Вы можете сделать закрытие родительской формы от ребенка, но мне кажется, что это немного нарушает принцип инкапсуляции.

Альтернативой является подписка на закрытое событие дочерней формы от родителя, а затем в пределах родительского элемента вы можете ответить на это - см. Закрытое событие формы Win * для реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...