当前位置:网站首页 > 生活知识 > 正文

begin invoke和end invoke(begininvoke)

作者:访客发布时间:2023-05-21分类:生活知识浏览:127评论:0

导读:导读大家好,小蜜来为大家解答以上问题。begininvoke和endinvoke,begininvoke很多人还不知道,现在让我们一起来看看吧!1、...
导读 大家好,小蜜来为大家解答以上问题。begin invoke和end invoke,begininvoke很多人还不知道,现在让我们一起来看看吧!1、这两个方法最常

大家好,小蜜来为大家解答以上问题。begin invoke和end invoke,begininvoke很多人还不知道,现在让我们一起来看看吧!

1、 这两个方法最常用的场合是:多线程环境下更新控件。

2、 例如,在程序程序中有一个后线程不断生成新的数字,而程序需要将这个数字在标签一控件上显示,这是就需要调用标签控件的调用或者BeginInvok方法。

3、 使用系统;

4、 使用系统。绘图;

5、 使用系统窗户。形式

6、 命名空间windows窗体应用程序一

7、 {

8、 publicpartialclassForm1:Form表单表单

9、 {

10、 //委托

11、 delegatevoidMyDelegate(intx);

12、 公共表单1()

13、 {

14、 初始化组件();

15、 //启动一个后台线程

16、 系统。线程Threadt=

17、 新系统穿线。thread(MyThread);

18、 t.IsBackground=true

19、 t . start();

20、 }

21、 voidMyMethod(intx)

22、 {

23、 标签1。text=x . ToString();

24、 }

25、 voidMyThread()

26、 {

27、 intx=0;

28、 //实例化委托

29、 MyDelegatemd=MyMethod

30、 //线程循环

31、 而(真)

32、 {

33、 x;

34、 //利用Invok,调用委托md,在标签一上显示x的值

35、 标签1。Invoke(md,x);

36、 //也可以调用BeginInvok

37、 //label1 .BeginInvoke(md,x);

38、 //休眠一秒钟

39、 系统。线程。线程。睡眠(1000);

40、 }

41、 }

42、 }

43、 }

本文到此结束,希望对大家有所帮助。