views:

1046

answers:

2

I put a Yes/No/Cancel Messagebox in FormClosing Method of my form. and now this is Message box text: Do You Want to Save Data?
I am not a profesional and not know how to handle if user clicked Cancel Button? Exactly the result of clicking on Cancel Button must be The form remain open.
How to prevent Closing my form in FormClosing method?
I wrote So far: ;)

...
DialogResult dr =MessageBoxFarsi.Show("Do You Want to Save Data?","",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Warning);
.
.
                else if (dr == DialogResult.Cancel)
                {
                   ?;
                }
.
.


Please Help me to complete my code!
Thanks

+5  A: 

FormClosing has a Boolean parameter which, if set to True when the function returns, will cancel closing the form, IIRC.

EDIT: For example,

private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
    // Set e.Cancel to Boolean true to cancel closing the form
}

See here.

Matthew Iselin
Thank You Very Much!
mahdiahmadirad
+4  A: 

You could have something like the following:

if(dr == DialogResult.Cancel)
{
    e.Cancel = true;
}
else
{
    if(dr == DialogResult.Yes)
    {
         //Save the data
    }
}

The above code should only close the form if you choose yes or no, and will save data when you choose yes.

phsr