C#调用事件详细描述

开发 后端
这里介绍C#调用事件,如果没有任何客户将委托与该事件挂钩,该字段将为空;否则该字段引用应在调用该事件时调用的委托。因此,C#调用事件时通常先检查是否为空,然后再C#调用事件。

C#有很多值得学习的地方,这里我们主要介绍C#调用事件,包括介绍客户代码先创建事件类型的委托,该委托引用应从事件调用的方法等方面。

C#调用事件

如果没有任何客户将委托与该事件挂钩,该字段将为空;否则该字段引用应在调用该事件时调用的委托。因此,C#调用事件时通常先检查是否为空,然后再C#调用事件。

  1. public class Form2 : System.Windows.Forms.Form  
  2. {  
  3. ... ...  
  4.  
  5. public event SelectionChangedEventHandler SelectionChanged;  
  6.  
  7. ... ...  
  8.  
  9. private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)  
  10. {  
  11. if (SelectionChanged != null)  
  12. {  
  13. SelectionChangedEventArgs E = new SelectionChangedEventArgs(comboBox1.Text);  
  14. SelectionChanged(this, E);  
  15. }  
  16. }  

为了开始接收C#调用事件,客户代码先创建事件类型的委托,该委托引用应从事件调用的方法。然后它使用 += 将该委托写到事件可能连接到的其他任何委托上。

  1. public class Form1 : System.Windows.Forms.Form  
  2. {  
  3. ... ...  
  4.  
  5. private Form2 m_frm2;  
  6.  
  7. ... ...  
  8.  
  9. public Form1()  
  10. {  
  11. ... ...  
  12.  
  13. m_frm2 = new Form2();  
  14.  
  15. //与事件挂钩  
  16. m_frm2.SelectionChanged += new SelectionChangedEventHandler(frm2_SelectionChanged);  
  17. }  
  18.  
  19. ... ...  
  20.  
  21. private void button1_Click(object sender, System.EventArgs e)  
  22. {  
  23. m_frm2.ShowDialog();  
  24. }  
  25.  
  26. private void frm2_SelectionChanged(object sender, SelectionChangedEventArgs e)  
  27. {  
  28. //获取事件传递过来的数据  
  29. textBox1.Text = e.Selection;  
  30. }  

【编辑推荐】

  1. C#创建表单简单介绍
  2. C#修改DataReader默认行为
  3. C#设置CooperativeLevel概述
  4. C#表单增加控件简单描述
  5. C# EmployeePlug类概述
责任编辑:佚名 来源: 博客园
相关推荐

2009-08-10 16:40:03

C#索引器

2009-09-07 15:15:43

2009-08-26 15:53:48

C#扩展方法

2009-08-27 15:17:40

C# const变量

2009-10-16 11:02:40

VB调用动态连接库

2009-09-14 14:58:52

LINQ to XML

2009-09-14 13:14:49

LINQ序列

2009-09-14 16:33:55

LINQ To XML

2009-09-24 16:19:53

Hibernate应用

2009-09-25 14:28:40

Hibernate S

2009-11-18 11:14:49

2010-02-05 16:58:18

Android服务

2009-09-25 11:04:32

Hibernate3实

2009-10-15 14:59:45

网络布线光纤技术

2010-04-09 17:45:06

Oracle索引

2009-09-08 11:09:39

LINQ数据源

2009-10-10 10:04:50

RHEL合法使用

2009-09-07 15:31:49

C#支持事件

2009-08-12 18:28:09

C#事件处理程序

2009-08-06 15:52:11

C#调用外部进程
点赞
收藏

51CTO技术栈公众号