左栏'); } else{ document.write('关闭左栏'); } }catch(e){alert(e);}
Foxtable(狐表)用户栏目专家坐堂 → 如何能知道窗口中双击控件的所属TabControl的名称


  共有2440人关注过本帖树形打印复制链接

主题:如何能知道窗口中双击控件的所属TabControl的名称

帅哥哟,离线,有人找我吗?
ap9709130
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1472 积分:11478 威望:0 精华:0 注册:2013/11/24 22:10:00
如何能知道窗口中双击控件的所属TabControl的名称  发帖心情 Post By:2018/3/29 15:39:00 [只看该作者]

如题

老师,我现在在做一个项目,主要是以TabControl来显示,全部控件动态加载,控件的事件全部写在窗口的双击事件.

如何实际双击该控件,就能知道该控件所所的TabControl?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/29 15:48:00 [只看该作者]

参考代码,使用parent得到父容器。

 

Dim o = e.sender.parent
Do While o IsNot Nothing
    msgbox(o.name & " " & o.Gettype.name)
    If typeof o Is winform.form Then
        Exit Do
    End If
    o = o.parent
Loop


 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1472 积分:11478 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2018/4/29 21:25:00 [只看该作者]

有点甜老师

我现在在做的项目都是动态增加TabControl,然后再在该TabControl上增加控件,我用你给我的代码,可以直接找到该控件所属的TabControl,我现在定义所有 标题名为:关闭窗口的 bottom,
除了窗口自带一个TabControl,名称为导航窗口,其它的都是用代码动态增加的。
在该窗口的 click 事件写以下代码:
If Typeof e.Sender Is WinForm.Button Then
    Dim gb As WinForm.Button = e.Form.Controls(e.Sender.name)
    Dim o = e.sender.parent
    Dim qd As Boolean = False
    If gb.Text = "关闭窗口" Then
        qd = True
    End If
    Dim name As String
    Do While o IsNot Nothing
        If o.Gettype.name = "Tabpage" Then          
            If o.name <> "导航窗口" Then
               name = o.name 
            End If
            Exit Do
        End If
        o = o.parent
    Loop
    If name > "" Then
        If qd = True Then
            If e.Form.Controls("DH").TabPages.Contains(name) = True Then
                e.Form.Controls("DH").TabPages.Delete(name)
                Return
            End If
        End If
    End If
End If

用这个代码,可以关闭当前的TabControl,但是一关闭完全成就会出错。如下图

图片点击可在新窗口打开查看此主题相关图片如下:5w15kq94yfjip2h6%@u0fz4.png
图片点击可在新窗口打开查看

这个窗口一直在闪,只有用任务管理器关闭。我有菜单systemidle 中没有代码。老师能帮我看看是什么原因吗?



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/30 15:56:00 [只看该作者]

实例发上来测试。

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1472 积分:11478 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2018/4/30 20:59:00 [只看该作者]

老师,

项目因为连着公司的服务器,不方便发上来。刚才又测试了一下,发现真的很奇怪。发布后的程序是没有问题的,但是开发版的就会出错。这种情况一般是什么问题?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/1 19:05:00 [只看该作者]

以下是引用ap9709130在2018/4/30 20:59:00的发言:
老师,

项目因为连着公司的服务器,不方便发上来。刚才又测试了一下,发现真的很奇怪。发布后的程序是没有问题的,但是开发版的就会出错。这种情况一般是什么问题?

 

明天上班时间,联系QQ客服远程测试一下。


 回到顶部