Как использовать выбранное событие изменения индекса в нескольких списках в форме одного окна? - PullRequest
0 голосов
/ 05 ноября 2011

Я работаю с простой адресной книгой, в которой у меня есть отдельные списки для компаний и лиц в единой форме окна.У меня проблема, когда я выбрал элемент из первого списка, он показывает значения для элемента из второго списка ... Я новичок в языках программирования.У меня также есть один список и один XML-файл для сохранения контактов для обоих списков просмотра.Может ли кто-нибудь мне помочь ...?Спасибо заранее.у меня есть этот код в Выбранном индексе изменено событие

  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;

(пожалуйста, не смейтесь, я только начинающий :)

1 Ответ

0 голосов
/ 05 ноября 2011

хорошо, обе части кода извлекают данные из одного и того же массива контактов, к которому вы обращаетесь по INDEX, и привязываетесь к INDEX из selected listviewitem.Это означает, что при выборе первого элемента в listview1 вы получите index of ZERO .., а при выборе первого элемента в listview2 вы получите index of ZERO .., фактически предоставив вам тот же элемент контактов.

Я бы порекомендовал установить. Tag property of each listviewitem, когда вы заполняете его для контакта, который он представляет (например, listviewitem item = listview1.items.add(contacts[index].FullName; item.Tag = contacts[index];)

Затем вы можете запросить контакт по ссылке в выбранном вами событии:*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...