Разница между пользовательским и закрывающим событием по умолчанию - PullRequest
0 голосов
/ 30 июля 2011

У меня есть элемент управления WPF (например, Кнопка ), который закрывает приложение.Интересно, есть ли какие-либо различия между пользовательским встроенным обработчиком событий для закрытия приложения и событием закрытия по умолчанию:

В основном, есть ли разница между следующими двумя:

private void Btn_Click(object sender, RoutedEventArgs e)
{
     RibbonWindow.Close();
}

и

protected override void OnClosed(EventArgs e)
{
    base.OnClosed(e);
}

Ответы [ 2 ]

1 голос
/ 30 июля 2011

Разница между пользовательским обработчиком событий (Btn_Click) для закрытия приложения и событием по умолчанию (OnClosed) заключается в том, что даже если вы закроете приложение с пользовательским событием, по умолчанию всегда будет вызываться в конце.Это не так с дефолтом.После того, как по умолчанию вызывается пользовательский, после этого вызываться не будет, потому что, очевидно, кнопка не нажата.Короче говоря, событие по умолчанию должно обрабатываться, когда вам нужно событие, когда приложение закрывается (даже после нажатия кнопки закрытия), в то время как вы можете использовать пользовательское событие, чтобы задать пользователю are you sure? такие вещи

Например, давайтескажем, вы создаете временный файл во время жизни приложения, и вам необходимо удалить его до того, как приложение будет создано.

Теперь вы можете поместить этот код в событие нажатия кнопки, но что делать, если пользователь закрывает приложение с помощью Alt + F4 или любым другимкроме вашей кнопки?В этом случае код вашей кнопки не будет вызываться, но всегда будет вызываться событие закрытия по умолчанию, и вы можете безопасно удалить временный файл.

0 голосов
/ 30 июля 2011

Первый пример, который вы предоставили, это обработчик события, вызванного, но кнопка, я полагаю.Это событие возникает, когда пользователь нажимает кнопку.Во-вторых, вместо этого находится в Переопределении события, вызванного системой WPF.Это совершенно другая история.Событие «источник» меняется.

С уважением.

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