簡體   English   中英

如何從動態添加的ListBox的選定項目中獲取價值

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM