以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  获取窗口控件事件名称  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=169769)

--  作者:yifan3429
--  发布时间:2021/6/29 19:03:00
--  获取窗口控件事件名称
比如 ComboBox
事件内 获取本事件名称

TextChanged 

Enter


判断我触发了哪个事件


类似窗口的 

e.form.tablename

e.Sender.Text




--  作者:有点蓝
--  发布时间:2021/6/29 20:47:00
--  
没有办法判断。事件都是固定的,只能写死。
--  作者:yifan3429
--  发布时间:2021/6/29 22:19:00
--  
有办法获取名称吗
--  作者:有点蓝
--  发布时间:2021/6/29 22:36:00
--  
没有办法。直接说需要做什么功能吧
--  作者:yifan3429
--  发布时间:2021/6/30 12:40:00
--  

通过动态函数给事件 指派执行代码 

比如放在 Enter 下


Dim drx As DataRow = DataTables("系统代码").SQLFind("[窗口名称] = \'全局代码 \' And [代码名称] = \'" & e.Sender.name & "\' Enter ") \'在后台查找符合条件的行
If drx IsNot Nothing Then
    Functions.Execute(drx("代码名称"),e)
End If

Dim drx As DataRow = DataTables("系统代码").SQLFind("[窗口名称] = \'全局代码 \' And [代码名称] = \'" & e.Sender.name & "\' Leave ") \'在后台查找符合条件的行
If drx IsNot Nothing Then
    Functions.Execute(drx("控件名称"),e)
End If

我现在是这么做的,就会每个控件的事件都要去修改
如何做到自动识别


图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20210630123923.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2021/6/30 12:40:27编辑过]

--  作者:有点蓝
--  发布时间:2021/6/30 13:35:00
--  
代码必要要放到事件里才能调用,既然是放到事件里,肯定是知道什么事件的,把名称作为参数传入动态函数即可

函数可以动态,事件是不可能动态的,无法动态分配事件