摘要: VS2008、C#3.0在WinForm开发中,我们通常不希望当窗体上点了某个按钮执行某个业务的时候,窗体就被卡死了,直到该业务执行完毕后才缓过来。一个最直接的方法便是使用多线程。多线程编程的方式在WinForm开发中必不可少。本文介绍在WinForm开发中如何使用多线程,以及在线程中如何通过Control.Invoke方法返回窗体主线程执行相关操作。-. WinForm多线程编程1. new Thread()新开一个线程,执行一个方法,没有参数传递:privatevoidDoWork(){Threadt=newThread(newThreadStart(this.DoSomething)); 阅读全文
posted @ 2011-05-13 14:53 把爱延续 阅读(837) 评论(2) 推荐(1) 编辑
摘要: 将方法签名与委托类型匹配时,协变和逆变为您提供了一定程度的灵活性。协变允许方法具有的派生返回类型比委托中定义的更多。逆变允许方法具有的派生参数类型比委托类型中的更少。一、协变本示例演示如何将委托与具有返回类型的方法一起使用,这些返回类型派生自委托签名中的返回类型。由SecondHandler返回的数据类型是Dogs类型,它是由委托中定义的Mammals类型派生的。class Mammals{}class Dogs : Mammals{}class Program{ // Define the delegate. public delegate Mammals HandlerMethod(); 阅读全文
posted @ 2011-05-13 14:49 把爱延续 阅读(460) 评论(0) 推荐(0) 编辑