2013-11-12 3 views
2

Я делаю программу, которая позволит пользователю щелкнуть имя компании, созданное динамическими ярлыками ссылок.Создание динамически созданных ссылок для ссылок в 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; } 
} 

Что нужно сделать, чтобы захватить бизнес-идентификатор нажатием на название компании?

Я посмотрел на Dynamically creating Link Labels using foreach in c#, но это не помогло

ответ

4

Объявите обработчик щелчка:

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

Изменить ваш Еогеасп:

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

Спасибо за ваш ответ qiuck Zergatul. –

1

Установите Tag свойство объекта LinkLabel равно вашего имущества business.businessID. Добавить обработчик для LinkLabel, и, когда элемент будет нажат, введите sender в LinkLabel и получите доступ к объекту Tag.

Смежные вопросы