使用多个组合框填充文本框

时间:2012-04-23 01:33:10

标签: c# winforms combobox textbox

我正在编写一个包含三个标签的程序。

在第一个标签上,用户输入有关客户帐户的信息,然后将其发送到名为combobox的第二个和第三个标签上的clients。在第二个选项卡上,用户输入有关股票或共同基金的信息。股票信息转到第三个标签上的股票combobox,共同基金信息转到第三个标签上的共同基金combobox

我遇到的问题是,我只能填写一个信息字段,并且能够使用textboxes中的所选项目填充combobox。例如,如果我输入有关客户帐户的信息 - 然后在combobox中选择该选项 - 它将使用该信息填充textboxes。但是,如果我尝试从股票或共同基金combobox中选择一个选项,则相应的textboxes将不会填充该信息。我不知道为什么第一个combobox中的选择是唯一会填充textboxes的。

以下是填充textboxes

的代码
  private void cboClientsTab3_SelectedIndexChanged(object sender, EventArgs e)
    {
        CustomerAccount custAccount = account[cboClientsTab3.SelectedIndex] as CustomerAccount;
        if (custAccount != null)
        {
            txtAccountNumberTab3.Text = custAccount.GetAccountNumber();
            txtCustomerNameTab3.Text = custAccount.GetCustomerName();
            txtCustomerAddressTab3.Text = custAccount.GetCustomerAddress();
            txtCustomerPhoneNumberTab3.Text = custAccount.GetCustomerPhoneNo();
        }

    }

    private void cboStocksTab3_SelectedIndexChanged(object sender, EventArgs e)
    {
        Stock aStock = account[cboStocksTab3.SelectedIndex] as Stock;
        if (aStock != null)
        {
            txtStockIDTab3.Text = aStock.GetInvestmentID();
            txtStockNameTab3.Text = aStock.GetInvestmentName();
            txtStockSymbolTab3.Text = aStock.GetInvestmentSymbol();
            txtStockSharesTab3.Text = aStock.GetInvestmentShare().ToString();
            txtStockPriceTab3.Text = aStock.GetStockPrice().ToString();
        }

    }

    private void cboMutualFundsTab3_SelectedIndexChanged(object sender, EventArgs e)
    {
        MutualFund aMutualFund = account[cboMutualFundsTab3.SelectedIndex] as MutualFund;
        if (aMutualFund!=null)
        {
            txtMutualIDTab3.Text=aMutualFund.GetInvestmentID();
            txtMutualNameTab3.Text=aMutualFund.GetInvestmentName();
            txtMutualSymbolTab3.Text=aMutualFund.GetInvestmentSymbol();
            txtMutualSharesTab3.Text=aMutualFund.GetInvestmentShare().ToString();
            txtNAVTab3.Text=aMutualFund.GetNAV().ToString();
        }
    }

1 个答案:

答案 0 :(得分:0)

根据我们上面的聊天,问题似乎是 cboStocksTab3 cboMutualFundsTab3 连接到错误的事件处理程序(即 cboClientsTab3_SelectedIndexChanged ) 。检查 SelectedIndexChanged 事件添加到元素的位置,并更改为正确的元素。这应该可以解决你的问题。