Наконец сделал это с помощью переменной bool, чтобы определить, отправлено письмо или нет.
код:
public static bool mailsent ;
// I am not posting the mail sending code as its available every where.
private void sendMailComplete(Object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
MailMessage msd = e.UserState as MailMessage;
if (!e.Cancelled)
{
MessageBox.Show("Cancelled");
}
if (e.Error != null)
{
MessageBox.Show("Error");
}
else
{
mailsent = true;
}
}
Теперь в событии FormClosing
private void MainForm_FormClosing(object sender, FormClosingEventArgs e){
if (!mailsent)
{
MessageBox.Show("Please wait, Mail Sending in Process !!! ");
e.Cancel = true;
}
}
Надеюсь, это поможет !!