2

XMLファイルを読み取り、XMLファイルのデータをオブジェクトのリストに保存するWindowsフォームがあります。これは 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>

ユーザーが [すべて表示] ボタンをクリックすると、xml ファイル内のすべての人の名字と姓がリストボックスに表示されます。

これは私がこれまでに持っている方法です:

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

ユーザーがリストボックス内の名前の 1 つをダブルクリックすると、その人物のすべての詳細を含むメッセージボックスが表示されます。どうすればこれを行うことができますか?

4

1 に答える 1

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));
    }
于 2013-05-04T04:42:25.700 に答える