[英]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.