日期:2014-05-18  浏览次数:20930 次

问个MessageBox.show后主窗体自动关闭的问题.急。。。
简单说一下情况: 

首先从main方法运行frm01页面,显示用户信息列表,点击frm01页面上的新增按纽,打开frm011新增用户页面,输入信息后验证: 

if (txtUserName.Text.Length == 0) 

MessageBox.Show("请输入用户名."); 
txtUserName.Focus(); 
return false; 


点击弹出信息上的确定按纽后,没有回到frm011页面,而frm011页面直接关闭,如何让frm011页面不关闭,继续输入信息呢?

------解决方案--------------------
好高级,会有这效果~?你断点加在后一行,看看执行了没有,我怀疑你还有别的代码~
------解决方案--------------------
if (txtUserName.Text.Length == 0)
{
MessageBox.Show("请输入用户名.");
txtUserName.Focus();
return false;


这几行代码没问题,错误在别的代码
------解决方案--------------------
不用怀疑,肯定是有别的代码关闭的。
------解决方案--------------------
探讨
if (txtUserName.Text.Length == 0)
{
MessageBox.Show("请输入用户名.");
txtUserName.Focus();
return false;
}

------解决方案--------------------
把这段代码拿到Form OnFormClosing里面写..
private void Form1_FormClosing(object sender ,EventArgs e)
{
if (txtUserName.Text.Length == 0) 

MessageBox.Show("请输入用户名."); 
txtUserName.Focus(); 
e.Cancel=true; 



}

 
------解决方案--------------------
引用楼主 wulangqq 的帖子:
简单说一下情况:

首先从main方法运行frm01页面,显示用户信息列表,点击frm01页面上的新增按纽,打开frm011新增用户页面,输入信息后验证:

if (txtUserName.Text.Length == 0)
{
MessageBox.Show("请输入用户名.");
txtUserName.Focus();
return false;
}

点击弹出信息上的确定按纽后,没有回到frm011页面,而frm011页面直接关闭,如何让frm011页面不关闭,继续输入信息呢?

------解决方案--------------------
EventArgs 类型不确定具体是什么.
 反正你在你窗体的FormClosing事件中会生成 不用管他..
------解决方案--------------------
上面你给出的代码肯定是没问题的。
你断点看一下。。
看有没有其他情况。
txtUserName.Text.Length 
或许是变量名搞错?
------解决方案--------------------
唉,chrome 不支持..
------解决方案--------------------
大家都对~~~楼主结贴给分!