Catching MessageBox result

James Dawson picture James Dawson · Mar 27, 2012 · Viewed 7.8k times · Source

I'm trying to get the user to confirm if they want to delete a product using a MessageBox and catching its result. This is my code:

// Confirm if the user really wants to delete the product
DialogResult result = MessageBox.Show("Do you really want to delete the product \"" + productName + "\"?", "Confirm product deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.OK)
{
    MessageBox.Show("deleted");
}

When I run the code and try to delete a product, deleted never shows. On the MSDN page it says to use MessageBoxResult rather than DialogResult but Visual Studio doesn't recognise MessageBoxResult, and I use DialogResult elsewhere in my code for an open file dialog. Obviously, that's not the proper way to check it.

Answer

Agustin Meriles picture Agustin Meriles · Mar 27, 2012

You must ask for DialogResult.Yes

// Confirm if the user really wants to delete the product
DialogResult result = MessageBox.Show("Do you really want to delete the product \"" +     productName + "\"?", "Confirm product deletion", MessageBoxButtons.YesNo,  MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
    MessageBox.Show("deleted");
}