Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 19424|Отговор: 0

[WPF] WPF затваря прозорци и процеси

[Копирай линк]
Публикувано в 8.12.2015 г. 13:02:23 ч. | | |
Много хора смятат, че затварянето на приложение трябва да е просто, например Application.Exit() във форма за Windows; Методът може да реши проблема, но не го злоупотребявайте в WPF, защото класът Application няма този метод в WPF, но има драйвер за Exit събитие, а затварянето на програмата в WPF приложението обръща голямо внимание:

Затварянето в WPF приложение има настройка за свойства ShutdownMode, с стойностите на трите типа enum:

1) OnLastWindowЗатвори заявлението, когато последната форма е затворена

2) OnMainWindowЗатвори приложението, когато основната форма на приложението е затворена

3) OnExplicitShutdown показва, че разговорът е затворен

В режим OnExplicitShutdown методът ShutDown, който извиква екземпляра на приложението, трябва да бъде показан

Например: Application.Current.Shutdown(-1); Тук Application.Current връща текущия Application instance на текущото приложение.

         Обърнете внимание, че горното не важи за XBAP, който автоматично се затваря при затваряне на браузъра.

  1. <Window x:Class="WpfFistDemo.MainWindow"
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.         Title="MainWindow" Height="350" Width="525" Loaded="windows_load" Closing="Window_Closing" >
  5.     <Grid>

  6.     </Grid>
  7. </Window>
Копирай код
  1. private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  2.         {
  3.             System.Environment.Exit(System.Environment.ExitCode);
  4.         }
Копирай код
Ако прозорецът стартира поднишка: Application.Current.Shutdown(); Не изключва процеса на приложението, System.Environment.Exit(System.Environment.ExitCode); Това ще затвори всички детски процеси и ще приключи самия процес!





Предишен:WPF настройки и получаване на параметри за изстрелване
Следващ:.net реализира прост уеб сървър с помощта на HttpListener
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com