public class Component1 : Label
{
public Component1()
{
InitializeComponent();
this.Click += new EventHandler(Component1_Click);
} public Component1(IContainer container)
{
container.Add(this); InitializeComponent();
} void Component1_Click(object sender ,EventArgs e)
{
MessageBox.Show("Component1_Click");
}
}
按上面这种写法,为什么点击的时候不能触发Component1_Click方法?我把这类放在一个Form中,为什么加入到Form中,从Form中写下面这句话却可以this.component11.Click += new System.EventHandler(this.component11_Click);
2个一样的?
楼主可以这样看
1. 设计模式:观察者模式
2. C# Delegate
3. C# Event相信看过这三个主题之后,楼主会对事件有个全新的了解~
再也不会知其然而不知其所以然 :)
组建的InitializeComponent();方法中去
new Component1();
还是
new Component1(new IContainer());