从对象列表中填充列表框

Pin*_*ndo 2 c# listbox

我有一个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>
Run Code Online (Sandbox Code Playgroud)

当用户单击"查看全部"按钮时,xml文件中所有人的firstName和姓氏应出现在列表框中.

这是我到目前为止的方法:

private void btnViewAll_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            foreach (SalesmanDetails details in salesmanList)
            {
                listBox1.Items.Add(details.firstName +" "+ details.surname);
            }
        }  
Run Code Online (Sandbox Code Playgroud)

当用户双击列表框中的某个名称时,将显示一个包含该人员所有详细信息的消息框.我该怎么做呢?

Dev*_*ddy 6

在循环中添加ListBoxItem时,可以使用String.Format连接名字和姓氏.您可以使用列表框DoubleClick事件通过在DoubleClick上查找SalesmanDetails来显示详细信息.以下代码是示例:

    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));
    }
Run Code Online (Sandbox Code Playgroud)