c#添加动态点击事件
问题描述:
Label[] l1 = new Label[30];
DataTable dt = ConsoleApp2.CitiesDB.getCities(this.region);
foreach(DataRow row in dt.Rows)
{
count++;
string city = row.Field<string>("city");
l1[count] = new Label();
l1[count].Location = new System.Drawing.Point(x,y);
l1[count].Size = new Size(140, 80);
l1[count].Font = new System.Drawing.Font("Century Gothic", 8.5F);
l1[count].Text = city;
x = x + 260;
this.Controls.Add(l1[count]);
this.Refresh();
if(count == 4 || count %4 ==0)
{
y = y + 150;
x = 40;
}
//l1[count].Click += new EventHandler(l1_click);
}
所以我做了一个动态标签(每个标签是一个城市名称)。我怎样才能让每个标签点击?我有一个注册表格 - 我想要的是如果用户点击“纽约”,然后在“城市”文本框中出现。与EventHandler的方式不适合我);.我能做什么? 我的意思的代码,不工作:c#添加动态点击事件
protected void l1_click(object sender, EventArgs e)
{
RegisterForm register = new RegisterForm(username,email,password,address,phone);
register.state.Text = region;
register.city.Text = l1[count].Text;
register.Show();
}
感谢(:
每个标签
答
分配一个click事件:
l1[count].Click += l1_click;
Click事件中使用发件人的说法,看看哪些被点击标签:
protected void l1_click(object sender, EventArgs e)
{
Label lbl = (Label)sender;
MessageBox.Show(lbl.Text);
谢谢你,它的工作(: – Daniel
勾选一个对于几点是正确的 –