title: Simplify if-else expression
body: <p>I am trying to manage a 3-result dialog, in <code>if ... else</code>, but I find it hard to use. This is my code:</p>
  
  <pre><code>if (MessageBox.Show("Are you sure you want to exit", "", MessageBoxButtons.YesNoCancel) == DialogResult.Yes) {
     MessageBox.Show("Why?!", "", MessageBoxButtons.RetryCancel);
     Application.Restart();
  } else if (MessageBox.Show("Are you sure you want to exit", "", MessageBoxButtons.YesNoCancel) == DialogResult.No) {
      if (MessageBox.Show("OK ^_^! Good Luck!", "", MessageBoxButtons.OK) == DialogResult.OK) 
          Application.Restart();
  } else {
      if (MessageBox.Show("Are you sure you want to cancel?", "", MessageBoxButtons.OKCancel) == DialogResult.OK) {
          MessageBox.Show("Ok! Good Luck!");
          Application.Restart();
      } else {
          MessageBox.Show("Error!");
          Application.Restart();
      }
  }
  </code></pre>
  
  <p>Whenever I run it, if I press "No" or "Cancel", it opens a new dialog. How can I avoid that?</p>