Due domande qui, spero che sia OK.MessageBoxResult vs. DialogResult
In primo luogo, e principalmente, sto cercando di chiedere all'utente quando esce dalla mia domanda, indipendentemente dal fatto che vogliano davvero uscire. Il mio codice è il seguente:
private void exitToolStrip_Click(object sender, EventArgs e)
{
DialogResult mBoxResult = MessageBox.Show("Would you like to exit the program?", "Exit Program", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
switch (mBoxResult)
{
case DialogResult.Yes:
this.Close();
break;
case DialogResult.No:
break;
}
}
Secondo MSDN
, dovrei usare MessageBoxResult mBoxResult
piuttosto che DialogResult mBoxResult
.
Sto usando .NET Framework 3.5
. Ho letto here che pre-3.0
dovrebbe utilizzare DialogResult
, ma se sto utilizzando 3.5
, non dovrebbe funzionare MessageBoxResult
?
Quando provo a chiamarlo, ottengo
Il tipo o dello spazio dei nomi il nome non è stato trovato
MessageBoxResult
(sono si manca un un riferimento all'assembly direttiva using o?).
Tuttavia, funziona correttamente quando utilizzo DialogResult. Perchè è questo?
La mia seconda domanda è per quanto riguarda questo pezzo di codice:
case DialogResult.No:
break;
Se qualcuno preme il pulsante Cancel
nella finestra di dialogo, sarebbe corretto mettere niente in là, oltre la pausa? O funzionerà tutto senza di esso?
Basta usare DialogResult e accertarsi di impostare il tipo di risultato di ciascun pulsante in modo che sia correttamente catturato/restituito .. molto semplice da controllare – MethodMan