使动态创建的链接标签在 Winforms 中可点击 [英] Making dynamically created linklabels clickable in Winforms

查看:25
本文介绍了使动态创建的链接标签在 Winforms 中可点击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在制作一个程序,允许用户点击由动态链接标签创建的公司名称.

I am making a program that will allow a user to click on a business name created by dynamic link labels.

在想知道如何使用链接标签之前,我从未在 C# 中使用过链接标签.可以为特定用户生成的业务数量各不相同,因此每个用户的链接标签数量不同.

I have never used link labels in C# before an wanted to know how one does that. The number of businesses that can be generated for a partucular user varies so the link labels are not the same in number for every user.

然后我想获取商家 ID 以进行 Json 调用.

I then want to capture the business ID to make a Json call.

用于填充商家名称的代码

My code to populate business names

// 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() });
     }
}

商务舱看起来像这样,上面的商务舱是一个列表.

The business class looks like this and business in business above is a list.

public class Business
{
    public string businessID { get; set; }
    public string businessName { get; set; }
}

我需要做什么才能在点击商家名称时捕获商家 ID?

What do I need to do in order to capture the business Id on the click of a business name?

我查看了 使用 foreach 动态创建链接标签c# 但它没有多大帮助

I have looked at Dynamically creating Link Labels using foreach in c# but it did not help much

推荐答案

声明点击处理程序:

private void MyLinkClick(object sender, ...)
{
    var linkLabel = (LinkLabel) sender;
    var business = (Business) linkLabel.Tag;
    /* do something with business */
}

更改您的 foreach:

Change your foreach:

foreach (var business in GlobalClass.Businesses)
{
     var linkLabel = new LinkLabel { Text = business.businessName.ToString(), Tag = business };
     linkLabel.Click += MyLinkClick;
     tableLayoutPanel.Controls.Add(linkLabel);
}

这篇关于使动态创建的链接标签在 Winforms 中可点击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆