判断FORM是否实例了?

huangboxi 2008-03-12 05:08:44
如何判断FORM是否实例了,如果实例化了,将他显示出来

...全文
93 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
starlessnt 2008-03-13
  • 打赏
  • 举报
回复
               frmOperator frm_operator;
bool find=false;
foreach(Form frm in this.MdiChildren )
{
if(frm is frmOperator)
{
frm.Activate();
find=true;
break;
}
}
if(!find)
{
frm_operator=new frmOperator();
frm_operator.MdiParent=this;
frm_operator.Show();
}
xlfancy 2008-03-13
  • 打赏
  • 举报
回复
if (this.IsCreated("formname")==true)
{
form.Focus();
}
else
{
form=new yourform();
form.MdiParent=this;
form.Show();
}


private bool IsCreated(string formName)
{
bool result=false;
Form form=null;
for (int i=0;i<this.MdiChildren.Length;i++)
{
form=(Form)this.MdiChildren[i];
if (form.Name==formName)
{
result=true;
break;
}
}
return result;
}
liuqinqin 2008-03-12
  • 打赏
  • 举报
回复
form!=null
xminsong 2008-03-12
  • 打赏
  • 举报
回复
在主窗口登记该窗口的“关闭事件”,每次关闭后都置为null,
否则可能关闭后亦不为null,但无法show出来。
study20089 2008-03-12
  • 打赏
  • 举报
回复
mdiform.child 下有方面可以调用。
yilanwuyu123 2008-03-12
  • 打赏
  • 举报
回复
form.Focus()
walkingmu 2008-03-12
  • 打赏
  • 举报
回复
如果要显示出来,那么静态变量可以是一个句柄。当实例化一个新窗体时检查此句柄是否为空,不为空则用Api函数(Set...什么什么的,查下SDK吧),或者其他方法将窗体至为最前。
walkingmu 2008-03-12
  • 打赏
  • 举报
回复
用个比较傻的方法
在Form_Main中定义一个static的int变量,初始化为0
在Form_child的onload事件中将Form_Main的变量自增1.在子窗体的closed事件中对Form_Main的静态变量自减1.
这样就可以知道有几个子窗体打开着了。
qiqundelang 2008-03-12
  • 打赏
  • 举报
回复
if(form!=null)
{
form.show();
form.activx();
}
wetcom 2008-03-12
  • 打赏
  • 举报
回复
if(form!=null)
{
form.show();
form.activx();
}
huangboxi 2008-03-12
  • 打赏
  • 举报
回复
他是多少FORM都开了,我要将他显示到最前面,如何写?
真相重于对错 2008-03-12
  • 打赏
  • 举报
回复
if( form != null )
huangboxi 2008-03-12
  • 打赏
  • 举报
回复
补允,我的FORM是指MDI窗体下的FORM

110,502

社区成员

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

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

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