首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求教一个关于return有关问题

2013-12-10 
求教一个关于return问题一个FORM中有2个按钮,事件为private void BT_按钮1_Click(object sender, EventArg

求教一个关于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被管理员删除

热点排行