C#关于给动态添加的按钮绑定事件

C#关于给动态添加的按钮绑定事件,第1张

先在这个类里面 加一个数组

public Data[] btsptmp = new Data[20]

//下面是代码

Button button = new Button()//新建一个按钮

button.Height = 85

button.Width = 85

button.Text = "你猜"//以上是参数

button.MouseClick += new MouseEventHandler(button_MouseClick)//绑定点击事件

btsptmp[i] = new Data //这里是我新建了一个静态构造函数 存储每个按钮的数据方便后期调用

{

lstime = i,

button = button//把新建的按钮存进去

}

flowLayoutPanel1.Controls.Add(button)//在窗口添加按钮

//下面是构造函数类

[Serializable]

public class Data

{

public int lstime

public Button button

}

//下面是点击事件

private void button_MouseClick(object sender, MouseEventArgs e){写你需要的事件}

动态创建和拖控件代码是一样的,

只是拖控件的话,系统把注册事件的代码自动加上了。

你可以在Form1上拖一个按钮,然后双击(产生一个click事件),

再看Form1.Designer.cs文件中的代码,如下:

// 

// button1

// 

this.button1 = new System.Windows.Forms.Button()

this.button1.Location = new System.Drawing.Point(131, 73)

this.button1.Name = "button1"

this.button1.Size = new System.Drawing.Size(75, 23)

this.button1.TabIndex = 1

this.button1.Text = "button1"

this.button1.UseVisualStyleBackColor = true

//注册事件

this.button1.Click += new System.EventHandler(this.button1_Click)

在for循环中添加button,注意各button的点击事件方法名。

Label lbl = new Label()

lbl.Click += new EventHandler(lbl_click) //用代码动态连接事件

.....

再实现lbl_click的定义:

private void lbl_click(object sender,EventArgs e){

Label lbl = (Label)(sender)//这么一转换就知道是哪个label点击了

if (lbl.Name=="lbl001")

//是001 label

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11539992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存