以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 获取窗口控件事件名称 (http://foxtable.net/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 我现在是这么做的,就会每个控件的事件都要去修改 如何做到自动识别 [此贴子已经被作者于2021/6/30 12:40:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/6/30 13:35:00 -- 代码必要要放到事件里才能调用,既然是放到事件里,肯定是知道什么事件的,把名称作为参数传入动态函数即可 函数可以动态,事件是不可能动态的,无法动态分配事件
|