以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  老大请进,遍历控件问题,为何报错?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=10927)

--  作者:唐尸三摆手
--  发布时间:2011/6/30 8:07:00
--  老大请进,遍历控件问题,为何报错?

老大,帮我看下,下面这段遍历代码报错。

For Each f As WinForm.Form In Forms
    For Each fc As WinForm.Control In f.Controls
        If Typeof fc Is WinForm.Button Then
            Dim fct As WinForm.Button = fc
            output.show(fct.name)
        End If
    Next
Next

 

貌似语法上没什么问题呀


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

--  作者:狐狸爸爸
--  发布时间:2011/6/30 8:12:00
--  
看不出问题,做个简单例子上来看看
--  作者:baoxyang
--  发布时间:2011/6/30 8:37:00
--  
以下是引用唐尸三摆手在2011-6-30 8:07:00的发言:

老大,帮我看下,下面这段遍历代码报错。

For Each f As WinForm.Form In Forms
    For Each fc As WinForm.Control In f.Controls
        If Typeof fc Is WinForm.Button Then
            Dim fct As WinForm.Button = fc
            output.show(fct.name)
        End If
    Next
Next

 

貌似语法上没什么问题呀


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

Dim fct As WinForm.Button = fc \'这句有问题吧,应当去掉这句。

[此贴子已经被作者于2011-6-30 8:39:00编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/6/30 8:41:00
--  

For Each f As WinForm.Form In Forms
    If f.Opened Then
        For Each fc As WinForm.Control In f.Controls
            If Typeof fc Is WinForm.Button Then
                Dim fct As WinForm.Button = fc
                output.show(fct.name)
            End If
        Next
    End If
Next

 


--  作者:唐尸三摆手
--  发布时间:2011/6/30 8:49:00
--  

必须打开的窗口才可以遍历控件吗

 

For Each f As WinForm.Form In Forms
output.show(f.name)
Next

 

遍历项目中的所有窗口就没有问题,这时候窗口并不都是打开的呀


--  作者:狐狸爸爸
--  发布时间:2011/6/30 8:50:00
--  
窗口不打开,窗口就没有生成,也就是窗口本身就不存在,谈什么遍历其中的控件啊
--  作者:唐尸三摆手
--  发布时间:2011/6/30 9:00:00
--  

有没有其他方法,比如我想实现 将所有窗口的控件进行权限分配,所以要遍历窗口控件,有没有一次性向表中增加这些控件的方法,只是不想一个一个录入罢了。


--  作者:狐狸爸爸
--  发布时间:2011/6/30 9:01:00
--  
没有办法,只能在窗口的AfterOpenProject事件设置代码
--  作者:唐尸三摆手
--  发布时间:2011/6/30 9:10:00
--  

老大请看附件,能否一次性向表C 中添加关于窗口F01的数据信息,然后由F01窗口调用?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目35.foxdb

[此贴子已经被作者于2011-6-30 9:56:54编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/6/30 11:21:00
--  
没有办法一次性,只能逐个窗口设置AfterLoad事件