Создание динамически создаваемых ссылочных ярлыков в Winforms
Я делаю программу, которая позволит пользователю нажимать на название компании, созданное метками динамической ссылки.
Я никогда не использовал ярлыки ссылок в C#, прежде чем хотел узнать, как это сделать. Количество предприятий, которые могут быть созданы для конкретного пользователя, варьируется, поэтому количество ссылок для каждого пользователя не одинаково.
Затем я хочу захватить бизнес-идентификатор, чтобы сделать вызов 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; }
}
Что мне нужно сделать, чтобы получить идентификатор предприятия по щелчку названия компании?
Я смотрел на динамическое создание ярлыков ссылок с помощью foreach в C#, но это не сильно помогло
2 ответа
Объявить обработчик кликов:
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);
}
Установить Tag
собственность LinkLabel
равный этому вашему business.businessID
имущество. Добавить обработчик для LinkLabel
и когда предмет щелкает, бросьте sender
к LinkLabel
и получить доступ к Tag
имущество.