C#事件与委托的关系【使用】
2012-03-14 10:45
246 查看
class Program
{
static void Main(string[] args)
{
MyText myText = new MyText();
//将事件处理添加到事件的调用列表中(既事件布线)
myText.Changed += new MyText.ChangeEventHandler(myText_Changed);
string str = "";
while(str!="quit")
{
Console.WriteLine("please enter a string:");
str = Console.ReadLine();
myText.Text = str;
}
}
//对Change事件处理的程序
private static void myText_Changed(object sender,EventArgs e)
{
Console.WriteLine("text has been changed :{0}\n",((MyText)sender).Text);
}
}
public class MyText
{
private string _text="";
//定义事件的委托
public delegate void ChangeEventHandler(object sender,EventArgs s);
//定义一个事件
public event ChangeEventHandler Changed;
//用以触发Change事件
protected virtual void OnChanged(EventArgs e)
{
if(this.Changed!=null)
this.Changed(this,e);
}
//Text 属性
public string Text
{
get{return this._text;}
set
{
this._text = value;
//文本改变触发Change事件
this.OnChanged(new EventArgs());
}
}
}
{
static void Main(string[] args)
{
MyText myText = new MyText();
//将事件处理添加到事件的调用列表中(既事件布线)
myText.Changed += new MyText.ChangeEventHandler(myText_Changed);
string str = "";
while(str!="quit")
{
Console.WriteLine("please enter a string:");
str = Console.ReadLine();
myText.Text = str;
}
}
//对Change事件处理的程序
private static void myText_Changed(object sender,EventArgs e)
{
Console.WriteLine("text has been changed :{0}\n",((MyText)sender).Text);
}
}
public class MyText
{
private string _text="";
//定义事件的委托
public delegate void ChangeEventHandler(object sender,EventArgs s);
//定义一个事件
public event ChangeEventHandler Changed;
//用以触发Change事件
protected virtual void OnChanged(EventArgs e)
{
if(this.Changed!=null)
this.Changed(this,e);
}
//Text 属性
public string Text
{
get{return this._text;}
set
{
this._text = value;
//文本改变触发Change事件
this.OnChanged(new EventArgs());
}
}
}
相关文章推荐
- 在C#中使用代理的方式触发事件 (委托和事件 )
- Tolua使用笔记六:在lua中操作C#的委托事件与在lua中对Unity的GameObject的操作
- C#中使用委托和事件实现观察者模式(observer pattern)
- VS2003 C#:重写键盘响应事件、动态创建控件、创建线程、在线程中使用委托在界面显示数据
- 在C#中使用代理的方式触发事件 (委托和事件 ) (转)
- c#中委托与事件的关系
- C#_delegate - 用委托实现事件,Display和Log类都使用Clock对象
- C#中使用委托和事件实现观察者模式(observer pattern)
- c#中关于delegate、委托、事件之间的联系、关系
- 关于C#的delegate(委托)和event(事件)的使用
- C# 委托/事件在Unit 4000 y中的使用(续)
- C#设计模式之十九:Observer模式(使用委托、事件)
- 在C#中使用代理(即委托)的方式触发事件(观察者模式)
- C# winform窗体间传值(使用委托或事件)
- C# 委托/事件在Unit 4000 y中的使用(续)
- C#使用委托创建事件实现两个窗体间通信
- C# winform窗体间传值(使用委托或事件)
- 在C#的事件、多播中使用委托
- C# 委托/事件在Unit 4000 y中的使用(续)
- C#中 委托和事件的关系