0

私は2つのタブを持つプログラムを書いています。最初のタブで、ユーザーは顧客のアカウントに関する情報を入力します。2 番目のタブには、アカウントの名前を保持するコンボボックスがあり、選択すると、保存されている最初のタブに入力された同じ情報が、2 番目のタブのテキスト ボックスに同じ情報を入力する必要があります。以前にこれを行ったことがあり、同じ構造を使用していますが、機能していません。関連するクラスからこの情報も引き出していますが、すべてが正しく見えます。誰かが何が悪いのか教えてもらえますか。

 public partial class Form1 : Form
{
    ArrayList account;

    public Form1()
    {
        InitializeComponent();
        account = new ArrayList();
    }

    //here we set up our add customer button from the first tab
    //when the information is filled in and the button is clicked
    //the name on the account will be put in the combobox on the second tab
    private void btnAddCustomer_Click(object sender, EventArgs e)
    {
        try
        {
            CustomerAccount aCustomerAccount = new CustomerAccount(txtAccountNumber.Text, txtCustomerName.Text,
            txtCustomerAddress.Text, txtPhoneNumber.Text);
            account.Add(aCustomerAccount);

            cboClients.Items.Add(aCustomerAccount.GetCustomerName());
            ClearText();
        }
        catch (Exception)
        {
            MessageBox.Show("Make sure every text box is filled in!", "Error", MessageBoxButtons.OK);
        }
    }


    private void ClearText()
    {
        txtAccountNumber.Clear();
        txtCustomerName.Clear();
        txtCustomerAddress.Clear();
        txtPhoneNumber.Clear();
    }

これは私が困っているところです。「accountNumber」またはその他の定義はありません

    private void cboClients_SelectedIndexChanged(object sender, EventArgs e)
    {
        txtAccountNumberTab2.Text = account[cboClients.SelectedIndex].accountNumber
        txtCustomerNameTab2.Text = account[cboClients.SelectedIndex].customerName;
        txtCustomerAddressTab2.Text=account[cboClients.SelectedIndex].customerAddress;
        txtCustomerPhoneNumberTab2.Text=account[cboClients.SelectedIndex].customerPhoneNo;
    }
4

1 に答える 1

2

ArrayList はオブジェクトを保持します。CustomerAccount にキャストする必要があります

private void cboClients_SelectedIndexChanged(object sender, EventArgs e)
{
    CustomerAccount custAccount = account[cboClients.SelectedIndex] as CustomerAccount;
     if(custAccount != null)
     {
        txtAccountNumberTab2.Text = custAccount.accountNumber
        txtCustomerNameTab2.Text = custAccount.customerName;
        txtCustomerAddressTab2.Text=custAccount.customerAddress;
        txtCustomerPhoneNumberTab2.Text=custAccount.customerPhoneNo;
    }
}
于 2012-04-19T21:06:49.953 に答える