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类概述
THE END