以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何能知道窗口中双击控件的所属TabControl的名称  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=116697)

--  作者:ap9709130
--  发布时间:2018/3/29 15:39:00
--  如何能知道窗口中双击控件的所属TabControl的名称
如题

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

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

--  作者:有点甜
--  发布时间: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
--  发布时间: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 中没有代码。老师能帮我看看是什么原因吗?



--  作者:有点甜
--  发布时间:2018/4/30 15:56:00
--  
实例发上来测试。
--  作者:ap9709130
--  发布时间:2018/4/30 20:59:00
--  
老师,

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

--  作者:有点甜
--  发布时间:2018/5/1 19:05:00
--  
以下是引用ap9709130在2018/4/30 20:59:00的发言:
老师,

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

 

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