Re: Событие OnClose()
От: Grog13 Финляндия  
Дата: 08.04.06 14:54
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Как на 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>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.