以文本方式查看主题

-  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=21109)

--  作者:chenpan
--  发布时间:2012/7/1 21:42:00
--  此控件如何让彼控件执行彼控件的代码?

此控件如何让彼控件执行彼控件的代码?

比如,我点删除按钮后,删除完成后,接着自动执行窗体的加载事件,以及combox的valuechange事件。


--  作者:sloyy
--  发布时间:2012/7/2 1:39:00
--  

PerformClick

模拟单击此按钮。

示例

假定窗口有两个按钮,单击按钮1执行A操作,单击按钮2执行A、B两项操作,我们可以将按钮2的Click事件代码设置为:

Dim btn As WinForm.Button = Forms("窗口1").Controls("Button1")
btn.PerformClick()
\'B操作代码

这样就无需重复在两个按钮中编写A操作的代码,只需在按钮1中编写一次即可。

[此贴子已经被作者于2012-7-2 1:39:02编辑过]

--  作者:程兴刚
--  发布时间:2012/7/2 3:46:00
--  
同时参考内部函数!
--  作者:reachtone
--  发布时间:2012/7/2 9:24:00
--  

此问题我很早之前就提过,老大确实应该再考虑一下。

PerformClick只有按钮才有此方法,用函数也很麻烦,动不动就写函数,以后查询维护起来就是个问题。我的项目中就有很多这样的情况,由于函数已经很多了,后来只好用按钮代替,需要共同调用的事件写在一个按钮里,然后再用performclick执行这个按钮的事件。当然,按钮是要隐藏的。这样虽然达到目的了,但总感觉别扭的很。

 

再次将同行软件的处理方法贴出来,看看老大能否参考一下:


图片点击可在新窗口打开查看此主题相关图片如下:11.gif
图片点击可在新窗口打开查看

如上图所示,如果要想让“按钮1”的“鼠标单击”执行其它已经设置好的事件代码,只需要将光标点击到相应的控件(构件),这时系统就会调出该控件所有的事件列表。上图因为单击的是“窗口1”,所以显示的就是“窗口1”中的所有事件。

如果要让“按钮1”执行“创建窗口”时的事件,只需要在“创建窗口”事件上双击。这样,以后单击“按钮1”时,就会自动执行“创建窗口”中的事件代码了。

所有的事件都可通过这种方式互相调用,非常的方便和灵活!!