我正在编写一个包含三个标签的程序。
在第一个标签上,用户输入有关客户帐户的信息,然后将其发送到名为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();
}
}
答案 0 :(得分:0)
根据我们上面的聊天,问题似乎是 cboStocksTab3 和 cboMutualFundsTab3 连接到错误的事件处理程序(即 cboClientsTab3_SelectedIndexChanged ) 。检查 SelectedIndexChanged 事件添加到元素的位置,并更改为正确的元素。这应该可以解决你的问题。