如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 250 编程语言
vbnet停供了多线程的操作,但是我们在写多线程的时候不免出现跨线程操作控件,停用线程间的控件调用的检查不是最好的,最好的解决办法是委托,下面介绍委托的最简单详细的案例。
新建一个工程,在界面上面加一个按钮和标签,如图
在准备委托之前需要准备以下过程,一个是委托的sub,一个是真正操作界面的sub,说白了委托就是两重调用,A调用b,b再调用c,最终实现功能。在最上面定义一个委托的类(可以根据需要增加),你这个委托的类必须和你的操作界面的sub有一样的参数,最好写一样,不然会出现签名不一样而错 如圈圈内的东东
大家出现的问题可能是这样的,在按钮的事件里面直接建立一个线程,然后调用操作界面的代码,结果就是错错。线程间操作无效。。。看下面的解决办法
通过双重调用,按钮建立一个线程并触发,这个线程指向sub weituo(),
在sub weituo ()里面调用委托me.invoke(new delegate(addressof chaozuo),"叽叽哇哇"),,这个invoke里面的不能是直接的sub,要是delegate类的,就是第一段定义的委托类,这样才行。如图
现在一点按钮就可以出现你要的效果了,这样是标准的做法。
需要注意的是,如果的操作界面的sub 是用参数的,那么你的invoke 在写了委托类之后需要在后面带上对应类型的参数。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: 编程语言
相关文章
如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 250 编程语言
web图表开发工具FineReport:[11]连续分组,数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。......
2023-03-17 482 编程语言