我正在制作一个程序,允许用户点击由动态链接标签创建的公司名称。
在想知道如何使用之前,我从未在 C# 中使用过链接标签。可为特定用户生成的业务数量各不相同,因此每个用户的链接标签数量都不相同。
然后我想捕获业务 ID 以进行 Json 调用。
我用来填充公司名称的代码
// fill in the business names as linked labels
if (GlobalClass.Businesses != null)
{
tableLayoutPanel.Controls.Clear();
foreach (var business in GlobalClass.Businesses)
{
tableLayoutPanel.Controls.Add(new LinkLabel { Text = business.businessName.ToString() });
}
}
业务类看起来像这样,上面的业务中的业务是一个列表。
public class Business
{
public string businessID { get; set; }
public string businessName { get; set; }
}
我需要做什么才能在点击商家名称时捕获商家 ID?
我看过Dynamically creating Link Labels using foreach in c#但这并没有太大帮助
最佳答案
声明点击处理程序:
private void MyLinkClick(object sender, ...)
{
var linkLabel = (LinkLabel) sender;
var business = (Business) linkLabel.Tag;
/* do something with business */
}
改变你的foreach:
foreach (var business in GlobalClass.Businesses)
{
var linkLabel = new LinkLabel { Text = business.businessName.ToString(), Tag = business };
linkLabel.Click += MyLinkClick;
tableLayoutPanel.Controls.Add(linkLabel);
}
关于c# - 使动态创建的链接标签在 Winforms 中可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19934186/