C # - закрыть дочернюю форму от родителя - PullRequest
1 голос
/ 07 апреля 2010

У меня есть родительская форма и дочерняя форма. Мне нужно открыть дочернюю форму в начале метода, выполнить несколько довольно интенсивных задач, а затем закрыть дочернюю форму после завершения.

Вот в основном то, что я до сих пор пробовал (без удачи):

Родительская форма:

Child child = new Child();

Method()
{
    child.ShowDialog();

    //Method code here

    child.CloseScan();
}

Детская форма:

public void CloseScan()
{
    this.Close();
}

1 Ответ

2 голосов
/ 07 апреля 2010

Когда вы вызываете child.ShowDialog(), код останавливается в этой точке до тех пор, пока диалоговое окно не будет закрыто, поскольку вы указываете ему функционировать как модальное диалоговое окно.

Если вы хотите, чтобы код продолжал выполняться, вам нужно использовать child.Show(this);. Затем вы можете сделать свой «код метода» и закрыть окно впоследствии. (Добавление «this» приводит к тому, что форма является дочерней формой текущей формы ...)

...