Выполнить код после закрытия диалога, и он не виден - PullRequest
2 голосов
/ 04 февраля 2009

Я хочу выполнить некоторый код внутри «Form1», но после закрытия диалога он не виден. Я знаю, что могу сделать это вне диалога после вызова ShowDialog (), но мне это не нравится.

Я пытался в «FormClosed», но кажется, что диалоговое окно все еще видно, когда это событие происходит. Также, если я вызываю Hide (), главное диалоговое окно свернуто - происходит что-то интересное

Ответы [ 2 ]

3 голосов
/ 04 февраля 2009

Я бы создал статический метод в диалоговом окне, и в этом методе отобразил бы диалоговое окно и выполнил бы все необходимые действия после его закрытия, например,

public static void ShowAndDoStuff()
{
  MyDialog dialog = new MyDialog();
  dialog.ShowDialog();
  dialog.DoStuff();
}
1 голос
/ 04 февраля 2009

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

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