2008-12-18 27 views

回答

11

有一个更简单的方法是直接通过。

试试这个:

public event EventHandler SelectedIndexChanged 
    { 
     add { this.TargetControl.SelectedIndexChanged += value; } 
     remove { this.TargetControl.SelectedIndexChanged -= value; } 
    } 

[编辑]当然,除非你需要注入定制逻辑。

+0

像魅力一样工作。非常感谢你! – NikolaiDante 2008-12-19 09:12:51

4

这就是你要做的。首先声明这样的事件:

public event EventHandler SelectedIndexChanged; 

然后,在内部,连接到DropDownList的SelectedIndexChangedEvent。在事件处理程序做这样的事情:

 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      if (this.SelectedIndexChanged != null) 
      { 
       this.SelectedIndexChanged(sender, e); 
      } 
     } 

所有你真正做的是包装原始事件并重新提升它。

编辑:请参阅布赖恩鲁道夫的答案。这实际上是一个很简单的方法。

+0

好的,有道理。我和代表们陷入了混乱之中。这正是我所期待的。我会在早上给它一个镜头 - 谢谢! – NikolaiDante 2008-12-18 19:13:22

相关问题