日期:2014-05-18 浏览次数:21282 次
if (MessageBox.Show("是否保存", "友情提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) == DialogResult.Cancel) { MessageBox.Show("取消"); return; } else if (MessageBox.Show("是否保存", "友情提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) == DialogResult.Yes)//奇怪要点两下才有反应 { MessageBox.Show("是"); return; } else if(MessageBox.Show("是否保存", "友情提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) == DialogResult.No)//奇怪要点两下才有反应 { MessageBox.Show("否"); return; }
DialogResult result = MessageBox.Show("是否保存", "友情提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); if (result == DialogResult.Cancel) { MessageBox.Show("取消"); return; } else if (result == DialogResult.Yes) { MessageBox.Show("是"); return; } else if (result == DialogResult.No) { MessageBox.Show("否"); return; }
------解决方案--------------------
楼上,正解!
------解决方案--------------------
楼主难道不明白是为什么吗,
主要就因为你在IF语句里面直接给判断了,而不是在外面写的判断,
像楼主写的你没有像1楼写的那样将result保存下来,所以你的3个if语句是都要执行的,你的==后面的每次判断都是一个新值
------解决方案--------------------
switch (MessageBox.Show("是否保存", "友情提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
{
case DialogResult.Cancel:
MessageBox.Show("取消");
break;
case DialogResult.Yes :
MessageBox.Show("是");
break;
case DialogResult .No :
MessageBox.Show("否");
break;
}