求教一个关于return问题
一个FORM中有2个按钮,事件为
private void BT_按钮1_Click(object sender, EventArgs e)
{
if(TextBox1.Text=="")
{
MessageBox.Show("对不起,【就诊姓名】不能为空!", "错误", MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
else
{
...........
}
}
private void BT_按钮2_Click(object sender, EventArgs e)
{
BT_按钮1_Click(null,null);
........
}
当我点击BT_按钮2的时候,如果TextBox1.Text等于空,虽然会弹出MessageBox提示窗口,但后面的语句还是执行了,我的意思是,如果TextBox1.Text等于空,那BT_按钮2后面的代码就不要执行了,请高人指点,谢谢啊
------解决方案--------------------你指BT_按钮2_Click中的其他代码执行了吧,你不想他们执行,可以这样来做:
bool flag=false;
private void BT_按钮1_Click(object sender, EventArgs e)
{
if(TextBox1.Text=="")
{
flag=true;
MessageBox.Show("对不起,【就诊姓名】不能为空!", "错误", MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
else
{
flag=false;
...........
}
}
private void BT_按钮2_Click(object sender, EventArgs e)
{
BT_按钮1_Click(null,null);
if(flag)
{
........
}
}
------解决方案-------------------- if(TextBox1.Text=="")
{
MessageBox.Show("对不起,【就诊姓名】不能为空!", "错误", MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
这里的return就已经结束了,不会执行下面的else方法。
------解决方案--------------------
该回复于2013-12-09 09:15:19被管理员删除