10月 092013
 

最近在学习C#,创建的工程是WPF或控制台程序。在WPF中用到了定时器。今天在CSDN中找了下,就复制加总结下吧。

C#中定时器有四个,分两种。一种是多线程的,一种是单线程的。
多线程计时器:

 1. System.Threading.Timer 

2. System.Timers.Timer

单线程计时器:

1. System.Windows.Forms.Timer(Windows Forms Timer)

2. System.Windows.Threading.DispatcherTimer(WPF timer);

多线程计时器比较强大,精确,而且可扩展性强。System.Threading.Timer是最简单的多线程计时器。

Continue reading »

9月 292013
 

委托(delegate)定义:委托是指向一个方法的指针,通过制定一个委托名称,即可以通过委托来调用方法。调用一个委托时,“运行时”实际执行的事委托所引用的方法。可动态地更改一个委托引用的方法,使调用一个委托的代码都运行一个不同的方法。
委托怎么做:先声明委托,然后添加委托。委托不需要你去new它,自己会处理。添加委托用”+=”,删除委托用“-=”。这个有点像as3里边的”addEventListener”和“removeEventListener”。

声明委托,请使用关键字:delegate,请定义访问方式,返回类型,参数

public delegate void allPeopleSay ();
allPeopleSay += men.Say;
allPeopleSay += women.Say;

如何调用委托,和调用方法一样.

this.allPeopleSay();

事件的构成:由于事件设计的事随着委托使用的,所以使用事件的类型必须是一个委托。而且必须在声明前,附加event关键字作为前缀。事件的四部曲。

第一步:声明事件。

先定义一个委托,里边可以带参数。然后定义event。

public delegate void DisplayTime(string timeStr);
public event DisplayTime TimeTick;

第二步:注册事件。事件注册只需要将事件添加到实例的委托中。添加事件用 “+=”字符串。卸载事件用”-=”。

网站地图