以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求一个全局代码或者内部函数的代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82471)

--  作者:lovemaders
--  发布时间:2016/3/18 14:17:00
--  求一个全局代码或者内部函数的代码

项目中,当打开的窗口中包含表控件的时候,就。。。,当打开的窗口中不包含表控件的时候就。。。。

这个写个全局代码怎么写,


--  作者:狐狸爸爸
--  发布时间:2016/3/18 14:29:00
--  

dim kk As Boolean

For Each c As Control in e.Form.Controls

    if Typeof c Is WinForm.Table Then

        kk=  True

        Exit For

    End if

next

if kk then

    ‘包含

Else

     ‘不包含

end If


--  作者:lovemaders
--  发布时间:2016/3/18 14:35:00
--  这个是窗口代码吧,不是全局代码啊?
这个是窗口代码吧,不是全局代码啊?
--  作者:狐狸爸爸
--  发布时间:2016/3/18 14:39:00
--  

设计一内部函数即可
 
dim kk As Boolean
Dim frm AS Winform.form = Args(0)
For Each c As Control in e.Form.Controls
    if Typeof c Is WinForm.Table Then
        kk=  True
        Exit For
    End if
next
Return KK
 
调用方法,窗口AfterLoad:
 
if  Functions.Execute("函数",e.Form) Then
else
end if
 
参考:
http://www.foxtable.com/help/topics/1486.htm


 


--  作者:lovemaders
--  发布时间:2016/3/18 14:48:00
--  啊,代码如下,我不想每个窗口都增加这个,帮我改下吧

代码如下,我的窗口就2种情况,包含表和不包含表的2种,如果打开的窗口中没有表,那么某控件不能用,如果有表就可以用,这个做个全局代码?内部函数?不想每个窗口都增加这么一段。

 

Dim kk As Boolean
Dim pg As WinForm.TabPage
 pg = Forms("窗口").Controls("TabControl1").TabPages(1)
For Each c As Control In e.Form.Controls
    If Typeof c Is WinForm.Table Then
        kk=  True
        Exit For
    End If
Next
If kk Then
   pg.Enabled = False  \'包含\'pg.Enabled = False
Else
   pg.Enabled = True \'不包含
End If


--  作者:Hyphen
--  发布时间:2016/3/18 15:05:00
--  
比如函数名称:SetEnable
dim e = Args(0)
Dim kk As Boolean
Dim pg As WinForm.TabPage
 pg = e.Form.Controls("TabControl1").TabPages(1)
For Each c As Control In e.Form.Controls
    If Typeof c Is WinForm.Table Then
        kk=  True
        Exit For
    End If
Next
If kk Then
   pg.Enabled = False  \'包含\'pg.Enabled = False
Else
   pg.Enabled = True \'不包含
End If

窗口AfterLoad事件调用代码
Functions.Execute("SetEnable",e)

--  作者:lovemaders
--  发布时间:2016/3/18 15:09:00
--  你好
你好,这样de话还是每个窗口都要加这么一句代码是吗?有没有办法所有窗口都不加这个代码,通过比如全局代码来实现呢?
--  作者:Hyphen
--  发布时间:2016/3/18 15:20:00
--  
这已经是最合适的方法
--  作者:lovemaders
--  发布时间:2016/3/18 15:30:00
--  好的谢谢了
好的谢谢了