如何用“是”,“否”选项和DialogResult创build消息框?
我想简单的是/不selectMessageBox,但是我觉得为它devise一个表单是无稽之谈。 我以为我可以使用MessageBox,添加button等来实现这一点。 这很简单,但是由于没有返回DialogResult,我该如何检索结果呢?
这应该做到这一点:
DialogResult dialogResult = MessageBox.Show("Sure", "Some Title", MessageBoxButtons.YesNo); if(dialogResult == DialogResult.Yes) { //do something } else if (dialogResult == DialogResult.No) { //do something else }
DialogResult dr = MessageBox.Show("Are you happy now?", "Mood Test", MessageBoxButtons.YesNo); switch(dr){ case DialogResult.Yes: break; case DialogResult.No: break; }
从MessageBoxsearch。 MessageBox类是你在找什么。
MessageBox.Show(title, text, messageboxbuttons.yes/no)
这将返回一个可以检查的DialogResult。
例如,
if(MessageBox.Show("","",MessageBoxButtons.YesNo) == DialogResult.Yes) { //do something }
MessageBox 确实产生了一个DialogResults
DialogResult r = MessageBox.Show("Some question here");
你也可以很容易地指定button。 更多文档可以在http://msdn.microsoft.com/en-us/library/ba2a6d06.aspxfind。;
使用:
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用于Windows Phone而不是DialogResult …
您也可以使用带有文本string的这个变体,这是在C#2012中testing的完整的变更代码(来自Mikael的代码):
// 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 }
你可以在之后
.YesNo
插入一个消息图标
, MessageBoxIcon.Question
@Mikael Svenson的回答是正确的。 我只是想添加一个小的补充:
Messagebox图标也可以包含像下面这样的附加属性:
DialogResult dialogResult = MessageBox.Show("Sure", "Please Confirm Your Action", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
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 }
从这里查看更多细节
这个简单的代码为我工作。 我在这里从MSDN抓住它:
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'