0

ユーザーが自宅に関するデータを入力する必要があるプログラムのコードを書いています。彼らには2つの選択肢があります。自宅やアパートに関する情報を入力できます。物件 ID、住所、ベッドルーム、築年数、価格、面積に関するデータを入力し、2 つの別々のテキストボックスに家具付き (これはアパートのオプション用) またはガレージの容量 (これは家のオプションの場合)。6 つのパラメーターは基本クラスに適用され、家具付きまたはガレージの容量は、アパートまたは家屋の 2 つのサブクラスです。ユーザーが「アパートを追加」または「家を追加」ボタンをクリックすると、住所がアパートのリストボックスまたは家のリストボックスに表示されます。これは私が問題を抱えているところです。

private void btnAddApartment_Click(object sender, EventArgs e)
{
    //instantiate appartment and add it to arraylist
    try
    {
        Apartment anApartment = new Apartment(txtID.Text, txtAddress.Text, int.Parse(txtYearBuilt.Text), int.Parse(txtBedrooms.Text),
            double.Parse(txtSquareFootage.Text), double.Parse(txtPrice.Text), txtFurnished.Text);
        Home.Add(anApartment);
        ClearText(this);
    }
    catch (Exception)
    {
        MessageBox.Show("Make sure you entered everything correctly!", "Error", MessageBoxButtons.OK);
    }            

}

private void btnAddHouse_Click(object sender, EventArgs e)
{
    try 
    {
        House aHouse=new House(txtID.Text, txtAddress.Text, int.Parse(txtYearBuilt.Text), int.Parse(txtBedrooms.Text),
            double.Parse(txtSquareFootage.Text), double.Parse(txtPrice.Text),int.Parse(txtGarageCapacity.Text));
        Home.Add(aHouse);
        AddHouseToListBox();
        ClearText(this);
    }
    catch (Exception)
    {
        MessageBox.Show("Make sure you entered everything correctly!", "Error", MessageBoxButtons.OK);
    }
}

private void ClearText(Control controls)
{
    foreach (Control control in controls.Controls)
    {
        if (control is TextBox)
        {
            ((TextBox)control).Clear();
        }
    }
}

private void AddHouseToListBox()
{
    lstHouse.Items.Clear();
    foreach (House person in Home)
    {
        lstHouse.Items.Add(person.GetAddress());
    }
}


private void AddApartmentToListBox()
{
    lstApartment.Items.Clear();
    foreach (Apartment persons in Home)
    {
        lstApartment.Items.Add(persons.GetAddress());
    }
}
4

1 に答える 1

1

AddApartmentToListBoxbtnAddApartment_Clickを呼び出す必要があります

private void btnAddApartment_Click(object sender, EventArgs e)
{
//instantiate appartment and add it to arraylist
try
{
    Apartment anApartment = new Apartment(txtID.Text, txtAddress.Text, int.Parse(txtYearBuilt.Text), int.Parse(txtBedrooms.Text),
        double.Parse(txtSquareFootage.Text), double.Parse(txtPrice.Text), txtFurnished.Text);
    Home.Add(anApartment);
    AddApartmentToListBox();
    ClearText(this);
}
catch (Exception)
{
    MessageBox.Show("Make sure you entered everything correctly!", "Error", MessageBoxButtons.OK);
}            

}

また、毎回リストボックスをクリアして追加する代わりにAddApartmentToListBox

lstApartment.Items.Add(anApartment.GetAddress());

そしてAddHouseToListBox_

lstHouse.Items.Add(aHouse.GetAddress());
于 2012-04-18T00:57:07.670 に答える