C# 从对象列表填充列表框

C# 从对象列表填充列表框,c#,listbox,C#,Listbox,我有一个Windows窗体,它读取xml文件,将xml文件中的数据存储到对象列表中。 这是xml文件格式: <SalesmanDetails> <firstName>as</firstName> <surname>s</surname> <email>name@example.com</email> <dateOfBirth>01/01/1980</dateOfB

我有一个Windows窗体,它读取xml文件,将xml文件中的数据存储到对象列表中。 这是xml文件格式:

<SalesmanDetails>
    <firstName>as</firstName>
    <surname>s</surname>
    <email>name@example.com</email>
    <dateOfBirth>01/01/1980</dateOfBirth>
    <streetNameAndNumber>23 st </streetNameAndNumber>
    <city>random</city>
    <country>Australia</country>
    <sales>1000</sales>
    <mobilePhoneNumber>+254 123 123 123</mobilePhoneNumber>
    <officeNumber>+65 852 256 5698</officeNumber>
  </SalesmanDetails>
当用户双击列表框中的一个姓名时,将显示一个包含此人所有详细信息的消息框。
如何执行此操作?

在循环中添加ListBoxItem时,可以使用String.Format连接名字和姓氏。通过双击查找SalesmanDetails,可以使用listbox双击事件显示详细信息。以下代码是示例:

    private void btnViewAll_Click(object sender, EventArgs e)
    {
        listBox1.Items.Clear();
        foreach (SalesmanDetails details in salesmanList)
        {
            listBox1.Items.Add(String.Format("{0} {1}",details.firstName,details.surname));
        }
    }  

    private void listBox1_DoubleClick(object sender, EventArgs e)
    {
         int SalesmanDetailsIndex = listBox1.SelectedIndex;
         SalesmanDetails selectedSalesman=salesmanList[SalesmanDetailsIndex];
         MessageBox.Show(String.Format("{0} {1} email {2}",selectedSalesman.firstName,selectedSalesman.surname,selectedSalesman.email));
    }

这里我可能错了,但是:重写SalesmanDetails类中的ToString()方法(在ToString()方法中返回SalesmanDetails.firstName+“”+SalesmanDetails.NastName;),并将Listbox的数据源设置为salesmanlist(listBox1.datasource=salesmanlist)我意识到我的“打开文件”方法并没有将信息添加到列表中,我找到了一个快速修复方法。
    private void btnViewAll_Click(object sender, EventArgs e)
    {
        listBox1.Items.Clear();
        foreach (SalesmanDetails details in salesmanList)
        {
            listBox1.Items.Add(String.Format("{0} {1}",details.firstName,details.surname));
        }
    }  

    private void listBox1_DoubleClick(object sender, EventArgs e)
    {
         int SalesmanDetailsIndex = listBox1.SelectedIndex;
         SalesmanDetails selectedSalesman=salesmanList[SalesmanDetailsIndex];
         MessageBox.Show(String.Format("{0} {1} email {2}",selectedSalesman.firstName,selectedSalesman.surname,selectedSalesman.email));
    }