Button b1 = new Button();
b1.Click += new EventHandler(b1_Click); Button b2 = new Button();
b2.Click += ???假如有两个按钮事件,我想把b1的点击事件赋值给b2,
就像
int i1=20;
int i2=i1;OK??????当然,直接写b2.Click +=new EventHandler(b1_Click);也是可以的,但是这样要改的话就麻烦了,而且按钮很多。
b1.Click += new EventHandler(b1_Click); Button b2 = new Button();
b2.Click += ???假如有两个按钮事件,我想把b1的点击事件赋值给b2,
就像
int i1=20;
int i2=i1;OK??????当然,直接写b2.Click +=new EventHandler(b1_Click);也是可以的,但是这样要改的话就麻烦了,而且按钮很多。
public event btnClickEventHander btnClick;
例子1:
int i1=20;
int i2=i1;
int i3=i1;
int i4=i1;例子2:
int i1=20;
int i2=20;
int i3=20;
int i4=20;
我想要的是例子1的效果
{
button1.Click += btn_Click;
button2.Click += btn_Click;
button3.Click += btn_Click;
} private void btn_Click(object sender, EventArgs e)
{
MessageBox.Show("","");
}
这样好像不行的
事件他比较特殊 我们在类中定义了一个事件,他看上去好像是类的一个字段其实不是
通过查看事件定义的IL代码可以发现,我们定义的事件他是一个类似方法的东西
同时系统会给我们创建一个private的代理对象,这个对象的名字和我们定义的事件名是一样的。
而我们在类外部能调用的只是我们自己定义的那个事件(其实像一个方法),也就是只能订阅或取消事件。
BTTTON继承下来重写http://topic.csdn.net/u/20110331/17/08451c7b-d9af-4a94-882c-84e81dab2efc.html
自定义控件?BUTTON继承下来在里边写你自己要的东西然后封装呢?
{
for(int i = 0; i < 9; i++)
{
btns[i] = new Button(); //这一句往往为初学者忽视,须知要创建对象的实例!
btns[i].Location = new System.Drawing.Point(100 + 50 * (i % 3),100 + 50 * (i / 3));
btns[i].Name = "btnTest";
btns[i].Size = new System.Drawing.Size(48, 48);
btns[i].Text = i.ToString();
btns[i].Click += new System.EventHandler(this.btns_Click); //统一的事件处理
this.Controls.Add(btns[i]); //在窗体上呈现控件
}
} private void btns_Click(object sender, System.EventArgs e)
{
MessageBox.Show(((Button)sender).Text + " was clicked !"); //通过sender判断激发事件的控件
} private void Form1_Load(object sender, System.EventArgs e)
{
ShowButtonArray();
}