[英]How to get value from a ListBox 's selected item added dynamically
我在winform的面板上动态添加了一个列表框。 我想从选定的项目中获取价值,但我没有做到这一点。 我有一个很好的主意,但是为什么我做不正确。
这是我的代码:
private void App1button_Click(object sender, EventArgs e)
{
ListBox ListBoxapp = new ListBox();
PanelLB.Controls.Add(ListBoxapp);
string[] item = GetDesktopWindowsTitles();
foreach (string app in item)
{
ListBoxapp.Items.Add(app);
}
ListBoxapp.BackColor = System.Drawing.SystemColors.InfoText;
ListBoxapp.Size = new System.Drawing.Size(321, 135);
ListBoxapp.Font = new System.Drawing.Font("Lucida Console", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
if (ListBoxapp.SelectedItem != null)
{
MessageBox.Show("App selected is" + ListBoxapp.SelectedItem.Tostring())
}
}
所以这项工作很好,它添加到了我的面板上,我可以选择一个项目,但是什么也没有发生。
我很确定这是因为我无法添加(在ListBoxapp.Font
**之后)
ListBoxapp.SelectedIndexChanged += new System.EventHandler(ListBoxapp_SelectedIndexChanged);
它告诉我ListBoxapp_SelectedIndexChanged
不存在。 但是考虑到它是动态添加的,我无法通过“优先级”来实现。 我不知道如何添加它。 谢谢。
定义事件,订阅它并使用发送者访问ListBox:
private void ListBoxapp_SelectedIndexChanged(object sender, EventArgs e)
{
ListBox lBox = sender as ListBox;
// do whatever you want
}
将此添加到您发布的代码:
ListBoxapp.SelectedIndexChanged += ListBoxapp_SelectedIndexChanged;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.