2016-02-27 5 views
0

Почему это первый код работаетСоздание объекта Window и затем вызвать его в другом классе окна в WPF C#

MessageBox.Show("No Applicants\nFirst Add applicants with dataentryaccount"); 
MainWindow mw = new MainWindow(); 
mw.Show(); 
this.Close(); 

Но этот второй код не отображается ММ окна

MessageBox.Show("No Applicants\nFirst Add applicants with dataentryaccount"); 
MainWindow mw = new MainWindow(); 
this.Close(); 
mw.Show(); 

Хотя при отладке Line-Line все эти строки выполняются.

+0

, потому что вы закрываете окно программы 'main' перед тем, как показывать следующее окно – Olivarsham

+0

Но когда отлаживается строка за строкой, строки выполняются? Как вы это оправдаете –

+0

Он должен выйти из текущей процедуры, которая называется .. – Olivarsham

ответ

1

В текущем исполнительном блоке EventHandler or procedure есть еще один код для его выполнения.
Вы не вызывали return, чтобы остановить выполнение текущей процедуры.

Close() - это еще одна функция, которая не удаляет форму сразу. Таким образом, он продолжает выполнение текущего кода.

Пожалуйста, уточните this ответ для получения более подробной информации.

+0

Хммм. Значит, вы имеете в виду, что новое окно будет создано, но из-за того, что он не имеет больше ссылок, он в конечном итоге будет удален сборщиком мусора –

 Смежные вопросы

  • Нет связанных вопросов^_^