将单个数据片段添加到多个列表框中?

将单个数据片段添加到多个列表框中?

问题描述:

我正在为需要用户输入有关其家庭的数据的程序编写代码。他们有两个选择。他们可以输入关于他们家或公寓的信息。他们输入关于房屋编号,地址,卧室,建成年份,价格和面积的数据,并在两个单独的文本框中输入是否提供其布置(这是用于公寓选项)或他们进入车库容量的信息(这是为房子选项)。这六个参数适用于基本类别,装修或车库容量是公寓或住宅的两个子类别。当用户点击“添加公寓”或“添加房子”按钮时,地址应该进入公寓列表框或家庭列表框。这是我遇到障碍的地方。将单个数据片段添加到多个列表框中?

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()); 
    } 
} 
+0

asp.net? Silverlight的? WPF?的WinForms? – 2012-04-18 00:17:50

+0

它在C#窗体表单应用程序中 – 2012-04-18 00:19:12

+0

请不要用“C#”等标题来标题。这就是标签的用途。 – 2012-04-18 01:35:37

你需要调用AddApartmentToListBox在btnAddApartment_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); 
}    

}

而且不是每次都清理和添加到列表框,你可以用

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

和替换AddApartmentToListBoxAddHouseToListBox

lstHouse.Items.Add(aHouse.GetAddress());