2016-04-27 6 views
0

Я делаю приложение Windows Forms C#. Я пытаюсь открыть всплывающее окно с сообщением, когда нажата кнопка «X» или «Закрыть», чтобы существовать вне приложения. Это то, что у меня есть до сих пор, и я не знаю, что с этим случилось. Когда я запускаю окно сообщения, оно не отображается, когда я нажимаю кнопку «Закрыть». Любая помощь будет оценена по достоинству. Благодарю.Закрытие приложения Windows Forms

private void MainWindow_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    if (this.DialogResult == DialogResult.Cancel) 
    { 
     if (MessageBox.Show("Do you want to save changes to the data?", 
          "MktAuthorizationData", 
          MessageBoxButtons.YesNo) == DialogResult.Yes) 
     { 
      e.Cancel = true; 
      // Do Something 
     } 
    } 
} 
+1

Вы связали код обработчика события с событием Form_Closing? – Steve

+1

Вы уверены, что этот метод связан с событием 'FormClosing' для' MainWindow'? – AntiTcb

+0

Я не знаю, что это значит. Я так не думаю, и как бы я это сделал. – Satish

ответ

6

Вы должны удалить ниже условия

if (this.DialogResult == DialogResult.Cancel) 

Код ниже должен работать

private void MainWindow_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    if (MessageBox.Show("Do you want to save changes to the data?", 
         "MktAuthorizationData", 
         MessageBoxButtons.YesNo) == DialogResult.Yes) 
    { 
      e.Cancel = true; 
      // Do Something 
    } 
} 

В случае, если вы не подписались на мероприятие, Вы должны сделать это, имея в этом после InitializeComponent();

this.FormClosing += MainWindow_FormClosing; 
+0

Спасибо, сейчас работает – Satish

0

Вы можете добавить событие Button Close, чтобы закрыть форму окна с помощью окна сообщения.

private void btnClose_Click(object sender, EventArgs e) 
    {   

    if (MessageBox.Show("Do you want to save changes to the data?", 
        "MktAuthorizationData", 
        MessageBoxButtons.YesNo) == DialogResult.Yes) 
     { 
     e.Cancel = true; 
     // Do Something 
     } 
    } 
Смежные вопросы