Как знать, закрылось ли окно “x” кнопкой?

Задачи Сообщества MSBuild содержат пользовательскую задачу под названием AssemblyInfo, который можно использовать для генерации assemblyinfo.cs. Это требует, чтобы немного редактирования руки Ваших csproj файлов использовало, но стоит.

9
задан tshepang 9 December 2013 в 21:28
поделиться

1 ответ

Самый простой способ (на мой взгляд) - сохранить логическое значение, указывающее, закрыл ли пользователь форму другим методом (ами).

Затем в событии OnClosing проверьте, является ли логическое значение ложным (что означает, что была нажата кнопка x).

Единственная проблема, связанная с этим, заключается в том, что вы сами установили логическое значение. Возможно ли это, зависит от другого способа, которым пользователь может закрыть вашу форму.

РЕДАКТИРОВАТЬ: Я должен отметить, что это сильно зависит от других способов закрытия формы. Если у вас есть несколько методов, которые закрывают это окно, вызывая Window.Close (), я бы подумал о создании единственного метода под названием UserClose (), который выполняет за вас логические настройки.

public void UserClose()
{
    NonXClose = true;
    this.Close();
}

Это позволит внешнему коду закрыть окно окно с установкой логического значения.

11
ответ дан 4 December 2019 в 14:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: