Foxtable(狐表)用户栏目专家坐堂 → 获取窗口控件事件名称


  共有2156人关注过本帖树形打印复制链接

主题:获取窗口控件事件名称

帅哥哟,离线,有人找我吗?
yifan3429
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2462 积分:22730 威望:0 精华:0 注册:2011/3/29 17:14:00
获取窗口控件事件名称  发帖心情 Post By:2021/6/29 19:03:00 [只看该作者]

比如 ComboBox
事件内 获取本事件名称

TextChanged 

Enter


判断我触发了哪个事件


类似窗口的 

e.form.tablename

e.Sender.Text




 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106655 积分:542458 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/29 20:47:00 [只看该作者]

没有办法判断。事件都是固定的,只能写死。

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2462 积分:22730 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2021/6/29 22:19:00 [只看该作者]

有办法获取名称吗

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106655 积分:542458 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/29 22:36:00 [只看该作者]

没有办法。直接说需要做什么功能吧

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2462 积分:22730 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106655 积分:542458 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/30 13:35:00 [只看该作者]

代码必要要放到事件里才能调用,既然是放到事件里,肯定是知道什么事件的,把名称作为参数传入动态函数即可

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

 回到顶部