0

我正在编写一个程序,要求用户输入他们的房子或公寓的信息。他们将输入有关房产 ID、地址、建造年份、卧室、面积和价格的信息。完成后,他们选择为“带家具”输入是或否(这适用于公寓),或者他们可以输入车库容量的数字(这适用于房屋)。我有一个名为 DisplayInfo() 的方法,它在一列中显示所有这些信息。该程序底部有两个列表框,一个用于公寓,一个用于房屋。还有两个按钮,一个用于添加房屋,一个用于添加公寓。此按钮会将地址添加到相应的列表框中。我遇到的问题是在最后一个名为 display 的按钮上,选定的房屋或公寓应显示在使用 DisplayInfo() 显示所有信息的消息框中。这就是我现在所拥有的

这是 DisplayInfo() 方法

        public virtual string DisplayInfo()
    {
        return string.Format("Property ID: {0}\nProperty Address: {1}\nYear Built: {2}\nNumber of Bedrooms: {3}\nSquare Footage: {4}\nPrice: {5}", GetID(),
            GetAddress(), GetYearBuilt(), GetBedrooms(), GetSquareFootage(), GetPrice());

这就是我用于显示消息框的内容,它所做的只是在不同的消息框中显示用户输入的每个房屋或公寓。

         foreach (Property_Dwelling property in Home)
        {
            MessageBox.Show(property.DisplayInfo(), property.GetType().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

        foreach (Property_Dwelling property in Home)
        {
            MessageBox.Show(property.DisplayInfo(), property.GetType().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
4

2 回答 2

0

编辑:新代码,基于评论

foreach (Property_Dwelling property in Home)
{
    //Only displays the messagebox if the address of the property is the same as the text displayed in the listbox
    if(property.GetAddress() == myListBox.Text)
    {
        MessageBox.Show(property.DisplayInfo(), property.GetType().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
}

不过,您可能希望在尝试显示其信息之前验证是否选择了某个项目。

那对你有用吗?

于 2012-04-18T16:40:20.827 回答
0

So, you are showing all the homes, because you are doing a for each around home (is that a class?) and that is showing all the info.

You should first locate the item you want to display inside home, and then only show it data.

于 2012-04-18T16:45:54.007 回答