Я пытаюсь следовать и завершить это учебное пособие по адресной книге на YouTube Учебное пособие по адресной книге
Но я столкнулся с трудностью, которую я не понимаю.Я не могу найти разницу в коде.Поэтому я думаю, что это должно быть свойство, которое мне не хватает.Когда я тестирую, заполняю список, я могу выбрать первый пункт.Но когда я выбираю второй элемент, отладчик выдает ошибку
неверный аргумент = значение '0' недопустимо для 'index'
Может кто-нибудь сказать мнепочему эта ошибка выбрасывается?Прослушивание видео звучит как 0 в коде, чтобы сказать списку, что вы можете выбрать только один элемент за раз.К сожалению, я не смог понять, почему его код работает, а мой - нет.
private void button3_Click(object sender, EventArgs e)
{
person p = new person(); // creates new string array
p.Name = textBox1.Text; // name
p.StreetAddress= textBox3.Text; // address
p.Email = textBox2.Text; // email
p.Birthday = dateTimePicker1.Value; //birthday
p.AdditionalNotes = textBox4.Text; // any notes
people.Add(p); // tells the the above data to be added to the people list.
listView1.Items.Add(p.Name); // makes its show on the listview of the main box.
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
dateTimePicker1.Value = DateTime.Now;
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = people[listView1.SelectedItems[0].Index].Name; //Debugger points error here.
textBox2.Text = people[listView1.SelectedItems[0].Index].Email;
textBox3.Text = people[listView1.SelectedItems[0].Index].StreetAddress;
textBox4.Text = people[listView1.SelectedItems[0].Index].AdditionalNotes;
dateTimePicker1.Value = people[listView1.SelectedItems[0].Index].Birthday;
}
class person
{
public string Name
{
get;
set;
} ...
}