文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>事件与委托

事件与委托

时间:2011-05-02  来源:怀恋-小军

其实所谓的委托可以直接从字面上理解  就是将某个事件  委托给别人去处理。

关键字:delegate  创建委托   event 声明事件  

当调用事件时可以通过委托将该事件告知给各个处理函数。

主要步骤:

1.创建委托

public delegate void 委托名称(要传递的参数);

2.声明事件        

public event 委托名称 事件名称;

3.绑定方法

事件名称 += 方法名称1

事件名称+=方法名称2

...

注意:能添加至委托的方法必须  返回值类型和参数  与定义的委托相同。

4.触发事件

事件名称(对应参数);

注:这样所有的方法就都被执行了

例:

子窗体code:

 1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Drawing;
5 using System.Data;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using ClientCommonService;
10
11 namespace ClinicPatientRegistered
12 {
13 public partial class 号 别MapUserControl : UserControl
14 {
15 public delegate void Click科室选择(号别安排 str);
16 public event Click科室选择 科室选择通知;
17
18 public 号别MapUserControl()
19 {
20 InitializeComponent();
21 this.DoubleBuffered = true;        
22 }
23
24 protected void button选择房间_Click(object sender, MouseEventArgs e)
25 {
26 if (科室选择通知 != null)
27 {
28 科室选择通知(room.号别安排);
29 }
30 }
31 }
32 }

父窗体code:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using ClientCommonService;

namespace ClinicPatientRegistered
{
public partial class 挂号服务ListForm : ChildForm
{
public 挂号服务ListForm()
{
InitializeComponent();
号别MapUserControl号表图.科室选择通 知
+= load加载科室信息;
}
public void load加载科室信息(号别安排 str)
{
MessageBox.Show(str.当前号.ToString());
}
}
}
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载