Я пишу программу с тремя вкладками.Заполнение текстовых полей с несколькими ComboBoxes
На первой вкладке пользователь вводит информацию об учетной записи клиента, которая затем отправляется на 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();
}
}
С кодом немного сложно сказать. Я бы порекомендовал вам перейти с помощью отладчика VS, чтобы узнать, где возникает проблема. – McGarnagle
На самом деле это не говорит мне ничего, когда я нахожу это. Я не понимаю, почему будет только заполнять текстовые поля из первого использованного combobox. – user1345553
Итак, когда вы помещаете точку останова в * cboStocksTab3_SelectedIndexChanged * и выбираете элемент из поля со списком, срабатывает ли точка останова? Is * aStock * null? Являются * GetInvestmentID() * и т. Д., Возвращающие пустые строки/null? Придется сузить его. – McGarnagle