2013-10-10 44 views
0

我想加載一個窗體,其中有不同的信息,這取決於我的列表框中的哪個組件,我雙擊。如果我得到哪個盒子被點擊(方框1,方框2等),那就足夠了。使用C#中的列表框

我試過使用Doubleclick事件,但它返回一個對象,我不太確定該如何處理這個對象來獲得我所需要的。

繼承人我現在代碼:

for (int i = 0; i <= (Program.Customers.Count) - 1; i++) 
      { 
       if (Program.Customers[i].Name == searchTerm) 
       { 
        SearchIndex.Add(i); 
        listBox1.Items.Add(((Program.Customers[i].ID + " - " + Program.Customers[i].Name))); 
       } 
      } 
      listBox1.Show(); 

什麼會得到被點擊該對話框的最佳方式?我需要這個ID,但是我可以通過點擊框來獲得。

謝謝!

+1

嘗試投送發件人:'ListBox listBox = sender As ListBox;'。 – LarsTech

+0

對於C#我真的很陌生,所以我不太確定如何處理這段代碼。它不會在我的doubleclick方法中編譯。你能解釋一下它做了什麼,或者說明在哪裏/如何使用它?謝謝! – Nathan

+0

它似乎沒有發佈足夠的代碼來理解問題。 ListBox的雙擊事件的簽名方法應該如下所示:void listBox1_DoubleClick(object sender,EventArgs e)'。 – LarsTech

回答

2

在最簡單的情況下,可以直接與您的ListBox控制情況比較sender參數,例如:

if (sender == listBox1) 
{ 
    // ... 
} 

要退出,你需要將其轉換爲第一更具體的事情sender更多信息。所以,如果你知道你雙擊處理程序只能連接到列表框,你可以做

var listbox = (ListBox)sender; 

,然後訪問任何ListBox(如Tag的屬性,這是我提的,因爲它是有專門爲您定製需求)。