2012-09-25 49 views
0

我有一個C#窗體窗體,拉負載使用線程工作負載的通用列表。這將填充客戶端數字的下拉列表。在窗體加載緩存數據

private void ZurichAccountTrades_Load(object sender, EventArgs e) 
{ 
    tbLocation.Text = @"C:\Reports\Output\"; 
    lbGettingData.Visible = true; 
    CheckForIllegalCrossThreadCalls = false; 
    var thdWorker = new Thread(PopulateDropDownPersonNumbers); 
    thdWorker.Start(); 
} 

private void PopulateDropDownPersonNumbers() 
{ 
     ddProviderNo.Enabled = false; 

    progressBar1.Increment(10); 

    //Get data somehow here.... 

    foreach (var person in providerPNos) 
    { 
    ddProviderNo.Items.Add(person.PersonNo); 
    progressBar1.Increment(1); 
    } 
    progressBar1.Increment(100); 
    lbGettingData.Visible = false; 
    ddProviderNo.Enabled = true; 
    progressBar1.Value = 0; 
} 

private void ddProviderNo_SelectedIndexChanged(object sender, EventArgs e) 
{ 
//What do I do here?? 
} 

我希望當用戶選擇自動顯示客戶端名稱(在同一列表舉行)的客戶端數量爲。

這怎麼辦?

+0

你想要顯示名稱而不是否? –

+0

「providerPNos」是什麼類型/類,你將如何訪問客戶端名稱? – 3aw5TZetdf

+0

嗨,providerPNos是一個通用的列表。 –

回答

0

添加對象Person而不是PersonNo

ddProviderNo.Items.Add(person); 

然後:

private void ddProviderNo_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    ComboBox comboBox = sender as ComboBox; 
    textBox.Text = (comboBox.SelectedItem as Person).Name; 
} 
0

可以客戶端名稱綁定到DisplayName屬性中的ComboBox。那麼當它改變時,你可以使用它..