none
Не срабатывает e.Cancel RRS feed

  • Вопрос

  • Делаю так:

      private void Form1_Closing(object sender, CancelEventArgs e)

            {

                if (MessageBox.Show("Do you want close application?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.No)

                    e.Cancel = true;

            }

     

    После нажатия No приложение работает ещё секунд пять и всё равно закрывается.. кто-нибудь сталкивался с таким?

    Пишу под WM 6.5...   

    • Перемещено SachinW 1 октября 2010 г. 20:55 MSDN Forums Consolidation (От:Начинающие разработчики)
    20 сентября 2010 г. 19:02

Ответы

  • Пишем:        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                if (MessageBox.Show("Do you want close application?", "Question",                                        MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation,                          MessageBoxDefaultButton.Button2) == DialogResult.No){

                 e.Cancel = true;

                 }

            }

    В дизайнере:

    this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);

    • Помечено в качестве ответа Abolmasov Dmitry 16 ноября 2010 г. 13:22
    9 ноября 2010 г. 9:23

Все ответы

  • Попробуйте

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                if (MessageBox.Show("Do you want close application?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.No)

                    e.Cancel = true;
            }

    • Помечено в качестве ответа I.Vorontsov 22 сентября 2010 г. 10:38
    • Снята пометка об ответе CheeGer 27 сентября 2010 г. 11:49
    21 сентября 2010 г. 7:36

  • А в дизайнере как это прописать?
    Сейчас там: 
                this.Closing += new System.ComponentModel.CancelEventHandler(this.Form1_Closing);

    а FormClosingEventArgs я что-то найти не могу... 

    25 сентября 2010 г. 16:36
  • Пишем:        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                if (MessageBox.Show("Do you want close application?", "Question",                                        MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation,                          MessageBoxDefaultButton.Button2) == DialogResult.No){

                 e.Cancel = true;

                 }

            }

    В дизайнере:

    this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);

    • Помечено в качестве ответа Abolmasov Dmitry 16 ноября 2010 г. 13:22
    9 ноября 2010 г. 9:23