MDI主窗体为 MDIform 子窗体有两个 分别是form1和form2
想要得到的效果是: 当我点击form1的显示事件时判断form2是否已经打开 打开的话就关闭form2然后再打开form1
相同的当我点击form2的显示事件时,也会判断form1是否已经打开,如果打开的话就关闭form1,然后打开form2
以上求老鸟解答了,谢谢!~
------解决方案--------------------
可通过判断当前激活的窗体是哪个
foreach (Form formInstance in this.MdiChildren)
{
if (formInstance is form1)
{
formInstance.Activate();
this.ActiveMdiChild.Close();
}
if(formInstance is form2)
{
formInstance.Activate();
this.ActiveMdiChild.Close();
}
}
------解决方案--------------------
上面的貌似有逻辑错误 不好意思 直接搬自己的代码也没细看 编辑不了帖子 再发一次吧
- VB.NET code
'Form1显示事件 If F_OpenOnce(Form2) = True Then Form2.Close() End If 'Form2显示事件 If F_OpenOnce(Form1) = True Then Form1.Close() End If '判断窗体打开函数 Private Function F_OpenOnce(ByVal MyForm As Form) As Boolean Dim V_Form As Form For Each V_Form In Me.MdiChildren If V_Form.Text = MyForm.Text Then V_Form.Activate() Return True End If Next Return False End Function