0

我有 ac# windows 表单,它使用线程工作者在加载时拉出一个通用列表。这会填充客户编号的下拉列表。

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??
}

我想要的是当用户选择一个客户号码时,客户名称(保存在同一个列表中)会自动显示。

如何才能做到这一点?

4

2 回答 2

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;
}
于 2012-09-25T09:33:37.697 回答
0

您可以将客户端名称绑定到 ComboBox 的 DisplayName 属性。然后当它改变时,你可以使用它..

于 2012-09-25T09:37:20.110 回答