【发布时间】:2016-09-18 02:44:01
【问题描述】:
我正在制作一个用户输入信息的小型 C# 应用程序。信息存储在一个对象中,而该对象又存储在一个列表中。信息以列表视图的形式显示给用户。
我想这样当用户点击列表视图中的一个项目时,该项目的索引被传递给列表,该列表找到具有相同索引的对象并获取其信息。然后信息会显示在用户输入他或她的信息的相同文本框中。
我的问题是,当用户在列表视图中选择一行时,我现在不知道要调用什么方法。
这就是我所拥有的:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count == 1)
{
index = listView1.FocusedItem.Index;
textBox1.Text = manager.FocusedContact(index).FirstName;
textBox2.Text = manager.FocusedContact(index).LastName;
textBox3.Text = manager.FocusedContact(index).Street;
textBox4.Text = manager.FocusedContact(index).City;
textBox5.Text = manager.FocusedContact(index).ZipCode;
}
}
我试过了:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
textbox1.Text = "hi";
}
所以我知道private void listView1_SelectedIndexChanged 是错误的方法,还是我忘记打开或关闭列表视图的某些选项?
【问题讨论】:
-
这是正确的事件。但是在取消选择项目时也会调用它!因此,甚至可能无法选择重点项目!检查 selectetedItems.Count 并使用 .selectetedItems[0].!
-
什么意思?我显然已经在检查 selectedItems.Count。我应该如何使用 selectedItems[0]?你能发表你的评论作为答案吗?
标签: c# winforms visual-studio listview