在我的应用程序中,有一个动态填充的列表框。
每个项目都需要有一个点击事件,因此它将打开属于此项目的组件。
因此我需要在每个项目上添加一个标记,因此我可以在事件方法中获取此标记。
列表框:
var lb_Volunteers_From_Question = new ListBox();
foreach (var volunteer in volunteers)
{
lb_Volunteers_From_Question.Items.Add(volunteer.Name);
{
// set tag
Tag = volunteer;
};
// set event
lb_Volunteers_From_Question.Click += new EventHandler(ShowVolunteerProfile);
}
// listbox settings
事件方法
public void ShowVolunteerProfile(object sender, EventArgs e)
{
// get volunteer out of tag
var item = sender as ListBox;
var tagQuestionDetail = (TagQuestionDetail)item.Tag;
// Show volunteer profile info
// code
}
但这对我不起作用。有办法吗?
答案 0 :(得分:0)
这里:
public void ShowVolunteerProfile(object sender, EventArgs e)
{
// get volunteer out of tag
var item = sender as ListBox;
var tagQuestionDetail = (TagQuestionDetail)item.SelectedItem.Tag;
// Show volunteer profile info
// code
}