请问关于c的具体应用场景有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计515个文字,预计阅读时间需要3分钟。
当然可以,请提供您想要修改的原文,我会帮您进行简写和修改。
c# windows编程,常会用到多线程,在新开的线程中要对主线程的页面数据进行更改时,需要通过delegate进行委托
public delegate void show(string info); //定义一个委托,参数为string private void add_info_event(string info) //定义一个方法,判断控件是否需要引用才可操作,将该方法与委托进行绑定,并用Invoke调用该委托和传递参数。 { if (this.txb_info.InvokeRequired) { show d = new show(add_info_event); //声明一个show委托,并且该委托指向add_info_event方法 this.Invoke(d, new object[] { info }); //引用该委托,并传递参数 } else { add_info(info); //调用真正的代码逻辑 } }
在新开线程代码中,直接调用add_info()属于跨线程操作,无法操控主线程内容,调用add_info_event()即可。
扩展:如果主form,生成一个子form,子form要对主form的进行通信,更改内容,也可以使用delegate和event相配合。
本文共计515个文字,预计阅读时间需要3分钟。
当然可以,请提供您想要修改的原文,我会帮您进行简写和修改。
c# windows编程,常会用到多线程,在新开的线程中要对主线程的页面数据进行更改时,需要通过delegate进行委托
public delegate void show(string info); //定义一个委托,参数为string private void add_info_event(string info) //定义一个方法,判断控件是否需要引用才可操作,将该方法与委托进行绑定,并用Invoke调用该委托和传递参数。 { if (this.txb_info.InvokeRequired) { show d = new show(add_info_event); //声明一个show委托,并且该委托指向add_info_event方法 this.Invoke(d, new object[] { info }); //引用该委托,并传递参数 } else { add_info(info); //调用真正的代码逻辑 } }
在新开线程代码中,直接调用add_info()属于跨线程操作,无法操控主线程内容,调用add_info_event()即可。
扩展:如果主form,生成一个子form,子form要对主form的进行通信,更改内容,也可以使用delegate和event相配合。

