c# - studio - ¿Cómo creo un cuadro de mensaje con las opciones "Sí", "No" y un resultado de diálogo?
showdialog c# ejemplo (9)
El MessageBox produce un DialogResults
DialogResult r = MessageBox.Show("Some question here");
También puede especificar los botones con la suficiente facilidad. Puede encontrar más documentación en http://msdn.microsoft.com/en-us/library/ba2a6d06.aspx
Quiero hacer un simple MessageBox seleccionado de Sí / No, pero creo que no tiene sentido diseñar un formulario para eso Pensé que podría usar MessageBox, agregar botones, etc. para lograr esto. Es simple, pero como no se devuelve DialogResult, ¿cómo recupero el resultado?
Este código simple funcionó para mí. Lo tomé de MSDN aquí:
if (System.Windows.Forms.MessageBox.Show
("Are you sure you want to add the audit?", "Add",
System.Windows.Forms.MessageBoxButtons.YesNo,
System.Windows.Forms.MessageBoxIcon.Question)
==System.Windows.Forms.DialogResult.Yes)
// Do stuff after ''YES is clicked''
else
// DO stuff after ''NO is clicked''
Esto debería hacerlo:
DialogResult dialogResult = MessageBox.Show("Sure", "Some Title", MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
//do something
}
else if (dialogResult == DialogResult.No)
{
//do something else
}
La respuesta de @Mikael Svenson es correcta. Solo quería añadir una pequeña adición a ella:
El ícono de la casilla de mensajes también se puede incluir tiene una propiedad adicional como la siguiente:
DialogResult dialogResult = MessageBox.Show("Sure", "Please Confirm Your Action", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
También puede usar esta variante con cadenas de texto, aquí está el código modificado completo (Código de Mikael), probado en C # 2012:
// Variable
string MessageBoxTitle = "Some Title";
string MessageBoxContent = "Sure";
DialogResult dialogResult = MessageBox.Show(MessageBoxContent, MessageBoxTitle, MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
//do something
}
else if (dialogResult == DialogResult.No)
{
//do something else
}
Puedes despues
.YesNo
insertar un icono de mensaje
, MessageBoxIcon.Question
Utilizar:
MessageBoxResult m = MessageBox.Show("The file will be saved here.", "File Save", MessageBoxButton.OKCancel);
if(m == m.Yes)
{
// Do something
}
else if (m == m.No)
{
// Do something else
}
MessageBoxResult se usa en Windows Phone en lugar de DialogResult ...
DialogResult dr = MessageBox.Show("Are you happy now?",
"Mood Test", MessageBoxButtons.YesNo);
switch(dr)
{
case DialogResult.Yes:
break;
case DialogResult.No:
break;
}
MessageBox clase MessageBox es lo que buscas.
MessageBox.Show(title, text, messageboxbuttons.yes/no)
Esto devuelve un DialogResult que puede comprobar.
Por ejemplo,
if(MessageBox.Show("","",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
//do something
}
dynamic MsgResult = this.ShowMessageBox("Do you want to cancel all pending changes ?", "Cancel Changes", MessageBoxOption.YesNo);
if (MsgResult == System.Windows.MessageBoxResult.Yes)
{
enter code here
}
else
{
enter code here
}
Consulta más detalles desde here