红皮书c#高级编程(第6版)_第7章_事件

1.事件接收器

 

protected void Page_Load(object sender, EventArgs e) { //多播委托 //告诉运行库,引发buttonOne的Click事件执行EventHandler委托所引用的自定义Button_Click方法 this.buttonOne.Click += new EventHandler(Button_Click); //buttonTwo添加了2个方法,点击后,会依次执行2个事件处理方法,再次说明事件实际是一多播委托^-^ this.buttonTwo.Click += new EventHandler(Button_Click); this.buttonTwo.Click += new EventHandler(Button2_Click); //等同于以上定义方法 //this.buttonOne.Click += Button_Click; //this.buttonTwo.Click += Button_Click; /*使用λ表达式(c#3.0支持) this.buttonOne.Click += (sender, e) = > Response.Write(((Button)sender).ID); this.buttonTwo.Click += (sender, e) => Response.Write(((Button)sender).ID); this.buttonTwo.Click += (sender, e) => Response.Write("此事件处理方法仅对:" + ((Button)sender).ID); */ } /***** * 此方法总是返回void,无返回值 * 参数sender:引发事件的对象,使用时需转换为相应对象 * 参数e:包含有关事件的其他有用信息对象 * 事件处理方法命名遵循“object_event”约定 ******/ private void Button_Click(object sender, EventArgs e) { Response.Write(((Button)sender).ID); } private void Button2_Click(object sender, EventArgs e) { Response.Write("此事件处理方法仅对:" + ((Button)sender).ID); }

你可能感兴趣的:(红皮书c#高级编程(第6版)_第7章_事件)