以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  已解决。动态修改控件绑定到自定义函数上,不是动态自定义函数,求助用什么代码。忘记在帮助哪里看到过了。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149710)

--  作者:wfkbabro
--  发布时间:2020/5/9 17:17:00
--  已解决。动态修改控件绑定到自定义函数上,不是动态自定义函数,求助用什么代码。忘记在帮助哪里看到过了。

【已解决:谢谢蓝版和酸哥,直接basecontrol会出错,换方式完美解决。扩展代码如下:

Dim ct As New system.Windows.Forms.Button
\'AddHandler Forms("窗口1").Controls("Button1").basecontrol.Click, AddressOf Button1_Click  \'err
ct = Forms("窗口1").Controls("Button1").basecontrol

AddHandler ct.Click, AddressOf test中文函数名无参数

 】
 
亲们,程序中动态修改控件绑定的函数,用什么来着,帮助里看到过,忘记了,谢谢。
或者不是帮助里,是论坛哪个贴里有。
似乎有base字样。
比如:

有 A,B两个按钮,PerformClick可在B按钮click代码中模拟单击A按钮
我想实现的是,在程序执行到设定条件时,B按钮click后不再执行B按钮原来的click代码,而是绑定到自定义好的函数 fm_click03 上去。
这个功能的代码,记得有“base"字样。

[此贴子已经被作者于2020/5/13 12:13:14编辑过]

--  作者:有点蓝
--  发布时间:2020/5/9 17:28:00
--  
http://www.foxtable.com/webhelp/topics/1487.htm
--  作者:wfkbabro
--  发布时间:2020/5/9 17:37:00
--  
以下是引用有点蓝在2020/5/9 17:28:00的发言:
http://www.foxtable.com/webhelp/topics/1487.htm

谢谢蓝版,自定义没达成效果。

有 A,B两个按钮,PerformClick可在B按钮click代码中模拟单击A按钮
我想实现的是,在程序执行到设定条件时,B按钮click后不再执行B按钮原来的click代码,而是绑定到自定义好的函数 fm_click03 上去。
这个功能的代码,记得有“base"字样。


--  作者:有点蓝
--  发布时间:2020/5/9 17:51:00
--  
if 某条件 then
执行B按钮原来的click代码
else
执行函数 fm_click03 
end if

--  作者:wfkbabro
--  发布时间:2020/5/9 18:17:00
--  
以下是引用有点蓝在2020/5/9 17:51:00的发言:
if 某条件 then
执行B按钮原来的click代码
else
执行函数 fm_click03 
end if

谢谢蓝版。找到 AddHandler ,测试中,有错误提示

代码是:AddHandler forms("窗口6_文档管理").controls("Button2").Click, AddressOf PSub_测试中文全局函数2


图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2020-05-09_18-10-50.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2020/5/9 18:18:55编辑过]

--  作者:有点酸
--  发布时间:2020/5/10 9:48:00
--  
AddHandler forms("窗口6_文档管理").controls("Button2").BaseControl.Click, AddressOf PSub_测试中文全局函数2
--  作者:wfkbabro
--  发布时间:2020/5/13 8:26:00
--  
以下是引用有点酸在2020/5/10 9:48:00的发言:
AddHandler forms("窗口6_文档管理").controls("Button2").BaseControl.Click, AddressOf PSub_测试中文全局函数2
谢谢!!!

谢谢蓝版和酸哥,直接basecontrol会出错,换方式完美解决。扩展代码如下:

Dim ct As New system.Windows.Forms.Button
\'AddHandler Forms("窗口1").Controls("Button1").basecontrol.Click, AddressOf Button1_Click  \'err
ct = Forms("窗口1").Controls("Button1").basecontrol

AddHandler ct.Click, AddressOf test中文函数名无参数

[此贴子已经被作者于2020/5/13 12:11:19编辑过]