多个列表框的选定索引

时间:2012-04-18 16:32:49

标签: c#

我正在编写一个程序,要求用户输入他们的房子或公寓的信息。他们将输入有关房产ID,地址,年份建造,卧室,面积和价格的信息。一旦他们完成了他们选择输入是或否,为#34;提供"(这适用于公寓)或他们可以输入车库容量的数字(这适用于房屋)。我有一个名为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);
        }

2 个答案:

答案 0 :(得分: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);
    }
}

您可能想要在尝试显示其信息之前验证是否已选择某个项目。

这对你有用吗?

答案 1 :(得分:0)

所以,你正在展示所有的房屋,因为你正在为家里的每个家庭做一个(这是一个班级吗?)并且显示所有信息。

首先应找到要在家中显示的项目,然后仅显示数据。