0

私は、1つのウィンドウフォームに会社と個人の別々のリストがある単純な名簿を使用しています。最初のリストビューからアイテムを選択すると、2番目のリストのアイテムの値が表示されるという問題があります。プログラミング言語の初心者です。また、両方のリストビューの連絡先を保存するための単一のリストと単一のxmlファイルがあります。some1は私を助けることができますか...?よろしくお願いします。選択されたインデックス変更イベントにこのコードがあります

  try
  {
       textBox1.Text = contacts[listView1.SelectedItems[0].Index].FullName;
       textBox2.Text = contacts[listView1.SelectedItems[0].Index].Address1;
       textBox3.Text = contacts[listView1.SelectedItems[0].Index].Address2;                    
       textBox5.Text = contacts[listView1.SelectedItems[0].Index].Phone1;
       textBox6.Text = contacts[listView1.SelectedItems[0].Index].Phone2;
       textBox7.Text = contacts[listView1.SelectedItems[0].Index].Phone3;
       textBox8.Text = contacts[listView1.SelectedItems[0].Index].Email;
       textBox11.Text = contacts[listView1.SelectedItems[0].Index].Website;

   }
   catch { }

広告他のリストがあります

    textBox1.Text = contacts[listView2.SelectedItems[0].Index].FullName;                
     textBox3.Text = contacts[listView2.SelectedItems[0].Index].Address2;
     textBox4.Text = contacts[listView2.SelectedItems[0].Index].MailingAddress;
     textBox5.Text = contacts[listView2.SelectedItems[0].Index].Phone1;                
     textBox8.Text = contacts[listView2.SelectedItems[0].Index].Email;
     textBox11.Text = contacts[listView2.SelectedItems[0].Index].Website;
     textBox9.Text = contacts[listView2.SelectedItems[0].Index].ContactPerson;
     textBox10.Text = contacts[listView2.SelectedItems[0].Index].ContactPhone;

(私は初心者です笑わないでください:))

4

1 に答える 1

0

どちらのコードも、INDEXでアクセスしている同じ連絡先配列から取得しており、のINDEXにキー設定されていselected listviewitemます。つまり、listview1で最初のアイテムを選択すると、..が取得され、listview2で最初のアイテムを選択すると、 ..が効果的に同じ連絡先要素をindex of ZERO取得します。index of ZERO

を設定することをお勧めします。Tag property of each listviewitemそれが表す連絡先にデータを入力すると(例 listviewitem item = listview1.items.add(contacts[index].FullName; item.Tag = contacts[index];

次に、選択したitemchangedイベントで参照して連絡先を尋ねることができます。 contact contact = listview1.selectedItems[0].Tag;

于 2011-11-04T20:33:59.550 に答える