在一个多文档项目中,第一次新建打开一个子窗口,第二次时如何判断这个子窗口已经打开?

解决方案 »

  1.   

    在窗体Open事件中定义一个TAG,触发后就设置为TRUE。
      

  2.   

    在.net中,每个实例化的类都在hashtable里面有个索引,在窗体A实例化之后,调用
    int i=this.GetHashCode();然后把i存储起来,等需要用的时候在从hashtable里面直接用就ok了简单说起来就是装箱拆箱
      

  3.   

    一楼,二楼的:Open事件是什么事件?
    不要误导别人啦...Mdi主窗体有个MdiChildren属性,你枚举就可以了,比如判断其Form的Name
      

  4.   

    vb.net的代码,c#代码不太会写,不过思路是一样的,就像楼上说的一样 
     Public Function EhOpenOnce(ByVal str As String, ByVal FrmMdi As Form) As Boolean
            Dim Frm As Form
            For Each Frm In FrmMdi.MdiChildren
                If Frm.Name = "BacklogShowFrm" Then
                    Frm.Activate()
                    Exit Function
                End If
            Next
            Dim a As New BacklogShowFrm
            a.MdiParent = Me
            a.Show()
            a.Dock = DockStyle.Fill
        End Function 'OpenOn
      

  5.   

    if(MyFrmRecOrder==null || MyFrmRecOrder.IsDisposed) 
    {
    MyFrmRecOrder=new FrmRecOrder();
    MyFrmRecOrder.MdiParent=this; 
    MyFrmRecOrder.Show();
    }
    else
    {
    MyFrmRecOrder.Activate();
    }
      

  6.   

    请问兔子兄弟,MyFrmRecOrder是怎样定义的啊?
      

  7.   

    MyLf(不睡觉的鱼) 你就不会自己定义事件吗?