C#調(diào)用事件詳細描述
作者:佚名
這里介紹C#調(diào)用事件,如果沒有任何客戶將委托與該事件掛鉤,該字段將為空;否則該字段引用應在調(diào)用該事件時調(diào)用的委托。因此,C#調(diào)用事件時通常先檢查是否為空,然后再C#調(diào)用事件。
C#有很多值得學習的地方,這里我們主要介紹C#調(diào)用事件,包括介紹客戶代碼先創(chuàng)建事件類型的委托,該委托引用應從事件調(diào)用的方法等方面。
C#調(diào)用事件
如果沒有任何客戶將委托與該事件掛鉤,該字段將為空;否則該字段引用應在調(diào)用該事件時調(diào)用的委托。因此,C#調(diào)用事件時通常先檢查是否為空,然后再C#調(diào)用事件。
- public class Form2 : System.Windows.Forms.Form
- {
- ... ...
- public event SelectionChangedEventHandler SelectionChanged;
- ... ...
- private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
- {
- if (SelectionChanged != null)
- {
- SelectionChangedEventArgs E = new SelectionChangedEventArgs(comboBox1.Text);
- SelectionChanged(this, E);
- }
- }
- }
為了開始接收C#調(diào)用事件,客戶代碼先創(chuàng)建事件類型的委托,該委托引用應從事件調(diào)用的方法。然后它使用 += 將該委托寫到事件可能連接到的其他任何委托上。
- public class Form1 : System.Windows.Forms.Form
- {
- ... ...
- private Form2 m_frm2;
- ... ...
- public Form1()
- {
- ... ...
- m_frm2 = new Form2();
- //與事件掛鉤
- m_frm2.SelectionChanged += new SelectionChangedEventHandler(frm2_SelectionChanged);
- }
- ... ...
- private void button1_Click(object sender, System.EventArgs e)
- {
- m_frm2.ShowDialog();
- }
- private void frm2_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- //獲取事件傳遞過來的數(shù)據(jù)
- textBox1.Text = e.Selection;
- }
- }
【編輯推薦】
責任編輯:佚名
來源:
博客園