以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 如何判断TabControl面面内是否有Tabel控件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118938)

--  作者:2900819580
--  发布时间:2018/5/14 20:01:00
--  [求助] 如何判断TabControl面面内是否有Tabel控件

1、如何判断TabControl1的各页面中是否有Tabel控件,如果有则显示第一列,第一行的数据

 

    如果没有,则新增Tabel控件,


--  作者:有点蓝
--  发布时间:2018/5/14 20:37:00
--  
判断页面所有控件:http://www.foxtable.com/webhelp/scr/1849.htm

Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
For Each p As WinForm.TabPage In tab.TabPages
    Dim find As Boolean
    For Each c As WinForm.Control In p.Children
        If Typeof c Is WinForm.Table  Then 
            Dim t As WinForm.Table = c 
            t.Select(0,0)
            find = True
            Exit For
        End If
    Next
    If find = False Then
    End If
Next


--  作者:zhy400137
--  发布时间:2018/5/14 22:20:00
--  
mark
--  作者:2900819580
--  发布时间:2018/5/15 15:56:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/5/15 16:00:00
--  

t.Select(0,0)

 

改成

 

t.Select

t.Table.Select(0,0)


--  作者:2900819580
--  发布时间:2018/6/10 9:47:00
--  

老师,如果我的Tab里面还有其它窗口,如SplitContainerTabControl,GroupBox等,而Table又在容器里面,又该怎么办?

 


--  作者:有点甜
--  发布时间:2018/6/10 22:39:00
--  
以下是引用2900819580在2018/6/10 9:47:00的发言:

老师,如果我的Tab里面还有其它窗口,如SplitContainerTabControl,GroupBox等,而Table又在容器里面,又该怎么办?

 

 

这种就比较麻烦了,要多层循环嵌套,或者写成递归。

 

首先获取children,然后判断类型,如果是 tabcontrol,那就继续循环各个页面,各个页面的children,如此反复循环下去。