2012-01-11 3 views
0

В приложении windows vb.net мне нужно подтвердить подтверждение перед закрытием приложения. У меня есть этот код в FormClosing случаеОтмена закрытия формы по выбору пользователя

If BackgroundWorker1.IsBusy Then 
    Dim UserSelection As Integer = MsgBox("Do you want Cancel Processing and Exit Application?", MsgBoxStyle.Exclamation + MsgBoxStyle.YesNo, "Exit Application") 
    If UserSelection = 6 Then 
     BackgroundWorker1.CancelAsync() 
     e.Cancel = True 
    Else 
     ???? 
    End If 
End If 

Как я могу отменить форму закрытия, если пользователь нажал No?

Пробовал e.Cancel = false, но это не сработало (выходит из приложения).

+2

'e.Cancel = True' остановит закрытие формы. – keyboardP

+0

@keyboardP Спасибо .. Я ошибочно положил другой путь, Извините за мою глупость ... :) – Nalaka526

+0

Добро пожаловать! – keyboardP

ответ

1

Согласно документации «e.Cancel = True» МЕШАЕТ форму от закрытия

0

Это полный код для отмены формы закрыт. Мы должны использовать событие FormClosing.

Private Sub Frm1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 
     If MessageBox.Show("Do you want to closed", Me.Text, MessageBoxButtons.OKCancel) = Windows.Forms.DialogResult.Cancel Then 
      e.Cancel = True 
     End If 
    End Sub 
Смежные вопросы