将单个数据片段添加到多个列表框中?
问题描述:
我正在为需要用户输入有关其家庭的数据的程序编写代码。他们有两个选择。他们可以输入关于他们家或公寓的信息。他们输入关于房屋编号,地址,卧室,建成年份,价格和面积的数据,并在两个单独的文本框中输入是否提供其布置(这是用于公寓选项)或他们进入车库容量的信息(这是为房子选项)。这六个参数适用于基本类别,装修或车库容量是公寓或住宅的两个子类别。当用户点击“添加公寓”或“添加房子”按钮时,地址应该进入公寓列表框或家庭列表框。这是我遇到障碍的地方。将单个数据片段添加到多个列表框中?
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());
}
}
答
你需要调用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());
和替换AddApartmentToListBox
AddHouseToListBox
与
lstHouse.Items.Add(aHouse.GetAddress());
asp.net? Silverlight的? WPF?的WinForms? – 2012-04-18 00:17:50
它在C#窗体表单应用程序中 – 2012-04-18 00:19:12
请不要用“C#”等标题来标题。这就是标签的用途。 – 2012-04-18 01:35:37