把主窗体作为子窗体容器的问题

lpt1122 2010-08-06 10:57:47
//查询子窗体是否存在
public bool checkchildfrm(string childfrmname)
{
foreach (Form childFrm in this.MdiChildren)
{
if (childFrm.Name == childfrmname)
{
if (childFrm.WindowState == FormWindowState.Minimized)
childFrm.WindowState = FormWindowState.Normal;
childFrm.Activate();
return true;
}
}
return false;
}

case "1":
{
if (this.checkchildfrm("Frm_patient") == true)
return;
Frm_patient frm = new Frm_patient();
frm.MdiParent = this;
frm.Show();
break;
}

这个是把一个窗体作为其他子窗体容器的部分代码。
那个forearm有什么用啊。我单步调试每次都不会进到forearm里去。还有下面的if(true) return;是不是和if(true){}else{}一样的意思
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shushukui 2010-08-06
  • 打赏
  • 举报
回复
foreach的作用在于把所有最小化的子窗体,恢复,
lpt1122 2010-08-06
  • 打赏
  • 举报
回复
可是我把整个foreach删掉。运行也没有什么区别啊
jointan 2010-08-06
  • 打赏
  • 举报
回复
foreach (Form childFrm in this.MdiChildren)
等同于循环访问MdiChildren集合中的每一个对象

if(true)
return;
dosomething;

等同于
if(true)
{
return;
}
else
{
dosomething;
}
oneatree 2010-08-06
  • 打赏
  • 举报
回复
多看语法
jointan 2010-08-06
  • 打赏
  • 举报
回复
因为你没有子窗口,所以foreach块内的东西不会执行,MdiChildren的内容为空时foreach不会执行
lpt1122 2010-08-06
  • 打赏
  • 举报
回复
试过了。直接跳过。不运行foreach里的代码。还是不懂有什么用
foryouwife 2010-08-06
  • 打赏
  • 举报
回复
childFrm.Activate();
return true;
在这两条语句上设置断点

110,546

社区成员

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

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

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