如何知道点击了什么Linklabel?
How to know what Linklabel has been clicked?
背景
我创建了 8 个链接标签,它们是使用从数据库获取数据的循环创建的。
每条记录填充一个链接标签。
如何区分点击了哪个链接标签?
代码
for (int i = 0; i <= rowCount - 1; i++)
{
LinkLabel Linklabel = new LinkLabel();
Linklabel.Text = ds.Tables[0].Rows[i]["code"].ToString();
Linklabel.Height = 15;
Linklabel.Width = 50;
Linklabel.AutoSize = true;
Linklabel.Location = new Point(10, (i + 1) * 30);
tabControl1.TabPages[0].Controls.Add(Linklabel);
// Add an event handler to do something when the links are clicked.
Linklabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
tabControl1.SelectedTab = tabPage2;
}
当点击绘制的 8 个链接标签中的任何一个时,同样的事情会发生。
我希望发生什么?
单击任何链接标签时,我想将 label.text 更改为所单击链接标签的内容。
例如
如果第一个linklabel.text=("one")
被点击,label1.text
变成一个
如果点击第二个linkedlabel.text=("two")
就label1.text
变成了两个。
您可以在回调中使用 sender
参数,它将指向实际的 LinkLabel
被点击:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
label1.text = ((LinkLabel)sender).Text;
}
背景
我创建了 8 个链接标签,它们是使用从数据库获取数据的循环创建的。 每条记录填充一个链接标签。
如何区分点击了哪个链接标签?
代码
for (int i = 0; i <= rowCount - 1; i++)
{
LinkLabel Linklabel = new LinkLabel();
Linklabel.Text = ds.Tables[0].Rows[i]["code"].ToString();
Linklabel.Height = 15;
Linklabel.Width = 50;
Linklabel.AutoSize = true;
Linklabel.Location = new Point(10, (i + 1) * 30);
tabControl1.TabPages[0].Controls.Add(Linklabel);
// Add an event handler to do something when the links are clicked.
Linklabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
tabControl1.SelectedTab = tabPage2;
}
当点击绘制的 8 个链接标签中的任何一个时,同样的事情会发生。
我希望发生什么?
单击任何链接标签时,我想将 label.text 更改为所单击链接标签的内容。
例如
如果第一个linklabel.text=("one")
被点击,label1.text
变成一个
如果点击第二个linkedlabel.text=("two")
就label1.text
变成了两个。
您可以在回调中使用 sender
参数,它将指向实际的 LinkLabel
被点击:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
label1.text = ((LinkLabel)sender).Text;
}