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 に答える