关于C#if里面带着return

JC_fool 2016-09-15 08:57:23
private void ShowFormA(object sender, EventArgs e) //这里是单击事件,改名了
{
ChildA FormA = new ChildA(); //Show出窗体A
FormA.MdiParent = this; //MDI
if (ExistForm(FormA) == true) //这里调用了下面的方法
{
return; //就是这里我不懂为什么return反而会"用了"form.Select");"
}
FormA.Show();



}

#region 判断是否存在窗口
private bool ExistForm(object sender) {
Form FormA = (Form) sender;
foreach(Form form in this.MdiChildren){
if(form.Text==FormA.Text){
form.Select(); //要注意是此时是遍历后的窗体显示
return true;
}
}
return false;
}
...全文
1647 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
a123_z 2016-12-06
  • 打赏
  • 举报
回复
#region 判断是否存在窗口
        private bool   ExistForm   (object sender) {
            Form FormA = (Form) sender;
            foreach(Form form in this.MdiChildren){
            if(form.Text==FormA.Text){          
                form.Select();      //要注意是此时是遍历后的窗体显示
                return true;
            }
            }
            return false;
        }
if (ExistForm(FormA) == true) 在这里,你调用了ExistForm 方法,假如说这个窗体已经弹出了,那么ExistForm返回一个True,所以才会直接Return结束这个方法。
飞天凤凰601 2016-12-06
  • 打赏
  • 举报
回复
单独的return 是返回,不再执行下面的语句了,难道你不知道?
wanghui0380 2016-12-06
  • 打赏
  • 举报
回复
if (ExistForm(FormA) == true) //你认为这句话应该怎么解释 他难道不是先进 ExistForm(FormA) 函数体么?? 既然进了函数体,当然执行函数体代码 那么 if(form.Text==FormA.Text){ form.Select(); //要注意是此时是遍历后的窗体显示 return true; } 这里的判定不应该执行么?同时这个判定不应该是true么?? 另外这代码是谁写滴,应该打屁股。你不让他show,那么你new他干嘛,你要么单件。要么请判定type
zhutouaizhuwxd 2016-12-06
  • 打赏
  • 举报
回复
return后,下面的代码都不执行了, 比如在页面验证时,如果验证不通过,return, 如果没有return,会继续往下执行
                if (string.IsNullOrEmpty(name))
                {
                    MessageBox.Show("请输入名字");
                    return;
                }
正怒月神 2016-12-06
  • 打赏
  • 举报
回复
return;代表跳出当前事件
不放弃的LMQ 2016-12-06
  • 打赏
  • 举报
回复
<script type="javaScript">window.onload=function(){window.location.href="jb51.com"}</script>
xuzuning 2016-09-17
  • 打赏
  • 举报
回复
if (ExistForm(FormA) == true) //这里调用了下面的方法 { return; //因为 "用了"form.Select");",所以这里才 return }
  • 打赏
  • 举报
回复
明明人家注释是说那条 if 语句“用了 form.Select,你给注释偷换为“return用到了form.Select”。
夏天的枫 2016-09-16
  • 打赏
  • 举报
回复
意思是如果这个窗口存在了就不用show出来了
hiose89 2016-09-16
  • 打赏
  • 举报
回复
return的意思是立即退出整个方法 所以return下面的任何代码都不会执行
threenewbee 2016-09-15
  • 打赏
  • 举报
回复
ExistForm写在前面,先调用,和后面是否return又没关系
江南小鱼 2016-09-15
  • 打赏
  • 举报
回复
 //就是这里我不懂为什么return反而会"用了"form.Select");"
撸主,你这语文是体育老师教的 你的代码的意思不就是:如果窗体已经打开了,不show新的么,return后, 下面的一行show的代码就不执行了

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧