在列表视图项目聚焦时调用方法C#

时间:2016-05-20 18:19:58

标签: c# winforms visual-studio listview

我正在制作一个用户输入信息的小型C#应用程序。信息存储在对象中,然后对象又存储在列表中。信息以列表视图显示给用户。

我想这样做,以便当用户点击listview中的项目时,该项目的索引将传递到列表,该列表查找具有相同索引的对象并获取其信息。然后,信息显示在用户输入其信息的相同文本框中。

我的问题是,当用户在列表视图中选择一行时,我现在不会调用什么方法。

这就是我所拥有的:

        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是错误的方法,或者列表视图是否有一些选项我忘记打开或关闭?

1 个答案:

答案 0 :(得分:2)

您应该能够像这样检索所选索引:

</item>

如果事件根本没有触发,请检查事件处理程序是否在表单的Designer.cs文件中正确注册。在你的情况下,它应该是这样的:

private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
   var index = listView1.SelectedIndex;
}