一个小问题:如何确定一个form已经在MDI窗口打开了。
MDI窗口的一个菜单项对应打开一个名为form1.cs的窗口
每次点击MDI窗口的这个菜单项时,都会打开一个新的form1.cs窗口。
怎样能判断这个窗口已经打开,并激活它呢?
MDI窗口的一个菜单项对应打开一个名为form1.cs的窗口
每次点击MDI窗口的这个菜单项时,都会打开一个新的form1.cs窗口。
怎样能判断这个窗口已经打开,并激活它呢?
解决方案 »
- UTF-8编码字符串:棰?,如何还原为GB2312字符串:题-
- 请问我把WAV文件转为byte[]后,再用Microsoft.DirectX.DirectSound来播放,但总是出错
- 如何判断某个网页是否有木马病毒?
- 通过Reflector for .net(升级的版本)将反编译的类库文件,用vs.net2005打开时为什么还提示升级呢?本来已经是vs.net2005的类库文件,还
- 请问如何控制时间差格式?
- 如何通过已知控件的名称返回这个控件对象?知道用反射,但不知道如何使用。
- 又遇新难题,在C#中,如何限制在文本框中输入的只是汉字,其它的不可输入?
- 夕夕公主在不?我有在段源程序找你帮忙?
- 各位大哥,小妹求助C#打印锯齿问题。
- 如何验证一个字符串中的中文?
- 一个简单的绘图程序!!却把我难倒了 达人相助啊!!!!
- 水晶报表 加载错误
foreach (Form childfrm in this.MdiChildren)
{
if (childform.Name == "form1")
{
childfrm.Activate();
return;
}
}
form1 newfrm = new form1();
newfrm.MdiParent = this;
newfrm.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;
}
}
}用的时候这样
if (this.IsCreated("Form1") == false)
{
form1=new Form1(); //form1在MDI中定义
form1.MdiParent = this;
form1.Show();
}
else
{
form1.Focus();
}
public bool checkChildFrmExist(string childFrmName)
{
foreach(Form childFrm in this.MdiChildren)
{
//用子窗体的Name进行判断,如果已经存在则将他激活
if(childFrm.Name == childFrmName)
{
if(childFrm.WindowState == FormWindowState.Minimized)
childFrm.WindowState = FormWindowState.Normal;
childFrm.Activate();
return true;
}
}
return false;
} if (this.checkChildFrmExist("subjmanage") == true)
{
return;
}
// 如果该窗体不存在则新生成一个窗体
subjmanage formsubjmanage = new subjmanage();
formsubjmanage.MdiParent = this;
formsubjmanage.Show();
public bool checkChildFrmExist(string childFrmName)
{
foreach(Form childFrm in this.MdiChildren)
{
//用子窗体的Name进行判断,如果已经存在则将他激活
if(childFrm.Name == childFrmName)
{
if(childFrm.WindowState == FormWindowState.Minimized)
childFrm.WindowState = FormWindowState.Normal;
childFrm.Activate();
return true;
}
}
return false;
}
你然后再在需要检查子窗体的地方写入下代码
if (this.checkChildFrmExist("subjmanage") == true)
{
return;
}
// 如果该窗体不存在则新生成一个窗体
subjmanage formsubjmanage = new subjmanage();
formsubjmanage.MdiParent = this;
formsubjmanage.Show();