| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3234 人关注过本帖
标题:如何判断子窗体是否打开
只看楼主 加入收藏
chdltanke
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2009-4-25
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
如何判断子窗体是否打开
在父窗体内打开多个子窗体,为了避免同一个子窗体多次打开,需要判断该子窗体是否打开
搜索更多相关主题的帖子: 窗体 判断 
2009-07-21 21:58
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
收藏
得分:0 
1、在父窗体的菜单中加入“窗口”菜单,其 MdiList 属性设为 True。这样,每打开一个子窗体,将在其下拉菜单中增加子窗体名。
2、判断子窗体是否存在,是则将其设置焦点,否则将其打开。
2009-07-22 05:20
chdltanke
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2009-4-25
收藏
得分:0 
如何判断子窗体已经存在呢?
2009-07-22 09:44
fairy4
Rank: 4
等 级:贵宾
威 望:10
帖 子:738
专家分:267
注 册:2007-11-1
收藏
得分:0 
程序代码:
   For x = 0 To (Me.MdiChildren.Length) - 1
                tempChild = CType(Me.MdiChildren(x), Form)
                If tempChild.Name = MDIChildFormName Then
                    frmyn = True
                    '检测到有该MDI子窗体,设为TRUE 并退出循环
                    Exit For
                Else
                    frmyn = False
                End If
            Next

一个人只有一个心脏,却有两个心房。一个住着快乐;一个住着悲伤。不要笑得太大声,不然会吵醒旁边的悲伤
2009-07-22 11:01
乖老鼠
Rank: 5Rank: 5
来 自:四川省
等 级:职业侠客
威 望:2
帖 子:434
专家分:394
注 册:2008-9-8
收藏
得分:0 
获得父窗体的子窗体列表,foreach循环子窗体,再比较子窗体的type是不是想比较的那个子窗体的type
C#里面是这样的

转眼就从编程菜鸟混成了半灌水
2009-07-22 11:09
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
收藏
得分:0 
' 获得子窗体数量,判断是否有要打开的子窗体
    Private Function GetInstanceState(ByVal Name As String) As Boolean
        Dim i As Integer = Me.MdiChildren.Length
        For i = 0 To Me.MdiChildren.Length - 1     '循环判断是否有名为name的子窗体
            If Me.MdiChildren(i).Name = Name Then  '存在名为name的子窗体
                Me.MdiChildren(i).Focus()          '子窗体获得焦点并返回True
                Return True
            End If
        Next
        Return False                       '不存在名为Name的子窗体返回False
    End Function

    Private Sub .......    '调用子窗体的事件
        If GetInstanceState(子窗体名) Then
            Exit Sub
        End If
        Dim ChildFrm As Form
        ChildFrm = New 子窗体名
        ChildFrm.MdiParent = Me
        ChildFrm.Show()
    End Sub
2009-07-22 14:30
chdltanke
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2009-4-25
收藏
得分:0 
谢谢版主
2009-07-22 14:30
chdltanke
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2009-4-25
收藏
得分:0 
谢谢sywzs
2009-07-22 18:21
快速回复:如何判断子窗体是否打开
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024357 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved