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;
}大家可以做下这个实验,Yes,No按钮要点两次而Cancel按钮只点一次就行?
解决方案 »
- C#中橡皮筋问题
- DotNetBar第三方控件使用问题
- 实用的查询需求,这样的SQL 语句怎么写?
- 生成ANSI的文本文档的问题
- 算法
- 紧急发问:客户机访问服务器,在服务器上自动生成WORD出现错误:无法打开宏存储;拒绝访问。
- 我用C#编写的spacebbs论坛 1.0版提供下载(不含源码)
- mapx的动态图层刷新的时候,为什么会覆盖MapXLib.ToolTypeConstants.miToolTypePoly工具画出的部分线呢呢?别的图层就没有被覆盖。。。
- 字符处理问题 谁能帮忙分解重组下啊 急需
- 在Delphi中很简单就可以实现子类化(subclassing),C#能实现吗?
- 急!!烦请高手帮忙看一下,导入进来的MP3播放不了。是哪里错了??
- 函数与存储过程的区别?
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语句是都要执行的,你的==后面的每次判断都是一个新值
{
case DialogResult.Cancel:
MessageBox.Show("取消");
break;
case DialogResult.Yes :
MessageBox.Show("是");
break;
case DialogResult .No :
MessageBox.Show("否");
break;
}