Здравствуйте, <Аноним>, Вы писали:
А>Как на C# сделать следующую вещь.Есть формочка. При ее закрытии надо вызвать MessageBox и в зависимости от того нажата ли кнопка ОК или Cancel соттветственно закрыть окно или оставить его как есть.
переопредели OnClosing формы
и там выводи MessageBox и анализируй его DialogResult
Вот у меня в одной форме это примерно так выглядит:
protected override void OnClosing(CancelEventArgs e)
{
if (!_issaved)
{
DialogResult res = MessageBox.Show("Запись не сохранена!\nСохранить ее в черновики?", "Сохранить изменения?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
switch (res)
{
case DialogResult.Yes: this.DialogResult = DialogResult.OK; break;
case DialogResult.No: this.DialogResult = DialogResult.Ignore; break;
case DialogResult.Cancel: e.Cancel = true; break;
}
}
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>