2016-09-29 6 views
-1

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

this.Visibility = Visibility.Visible; 
this.Topmost = true; 

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

Меня обыскали, но ничего не получили.

Как я могу это сделать?

ответ

0

Вы не можете.

Представьте другое приложение пытались сделать то же самое в то же время - вы не можете закрыть окно A Перед окном B, но вы не можете закрыть окно В перед окном, но ...

Редактировать : короткая версия выше может быть неправильно понята, поэтому более подробно:

Предположим, ваше приложение имеет это очень важное сообщение для пользователя, поэтому оно открывает специальное окно. Особое свойство этого окна заключается в том, что до тех пор, пока он существует, пользователь не может получить доступ к другому окну. Это также означает, что пользователь не может закрыть любое другое окно. Теперь, когда пользователь читает сообщение, другое приложение имеет важное сообщение, поэтому оно открывает окно, используя тот же метод, что и для блокировки доступа к другим окнам, пока он не будет закрыт.

Пользователь не может закрыть второе окно, потому что первое окно является специальным и должно быть закрыто первым. Пользователь не может закрыть первое окно, потому что второе окно является специальным и должно быть закрыто первым => пользовательский интерфейс полностью заблокирован. Бедный пользователь должен использовать диспетчер задач для уничтожения одного из двух приложений или перезагрузки системы.

См. Также Raymond Chen's more detailed discussion настоящего принципа.

+0

* Представьте, что другое приложение попыталось сделать то же самое в одно и то же время * ** Имеют смысл. ** * вы не можете закрыть окно A перед окном B, но вы не можете закрыть окно B перед окном A, но . ** ** не получаю вас! ** –

+0

На связанной странице дается более подробное объяснение - если это вам все равно не поможет, я постараюсь перефразировать мой ответ. –

+0

Да, спасибо за ссылку, но я не хочу закрывать окно A перед окном B, Предположим, у меня есть два приложения, один - блокнот, а второй - мое окно приложения, теперь в определенное время мое окно приложения появляется сверху, Теперь я просто хочу, чтобы пользователь не смог получить доступ к блокноту, пока не закрыл мое текущее окно, я надеюсь, что это имеет смысл! –

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