双击listview中的项目c#

sar*_*own 1 c# listview double-click

我仍然无法理解如何使列表视图中的项目可点击并显示消息框.

这是我的代码.

private void button6_Click(object sender, EventArgs e)
    {
        ListViewItem listviewitem;

        listviewitem = new ListViewItem("John");
        listviewitem.SubItems.Add("Smith");
        listviewitem.SubItems.Add("kaya");
        listviewitem.SubItems.Add("bun");
        this.listView1.Items.Add(listviewitem);
        listView1.FullRowSelect = true;
Run Code Online (Sandbox Code Playgroud)

// show header listView1.View = View.Details;

        // Loop through and size each column header to fit the column header text.
        foreach (ColumnHeader ch in this.listView1.Columns)
        {
            ch.Width = -2;
        }
Run Code Online (Sandbox Code Playgroud)

}

我读过itemActive,我试过这个.即时补充listView1.SelectedItems[0].Text

    private void button6_Click(object sender, EventArgs e)
        {
            ListViewItem listviewitem;

            listviewitem = new ListViewItem("John");
            listviewitem.SubItems.Add("Smith");
            listviewitem.SubItems.Add("kaya");
            listviewitem.SubItems.Add("bun");
            this.listView1.Items.Add(listviewitem);
            listView1.FullRowSelect = true;

            MessageBox.Show("You clicked " + listView1.SelectedItems[0].Text);
}
Run Code Online (Sandbox Code Playgroud)

这个打印输出错误

争论超出范围.'0'不是索引的有效数.

请帮我解决一下这个.

ABH*_*ABH 6

button6_Click()只添加新创建listviewitemlistView1

private void button6_Click(object sender, EventArgs e)
{
    ListViewItem listviewitem;

    listviewitem = new ListViewItem("John");
    listviewitem.SubItems.Add("Smith");
    listviewitem.SubItems.Add("kaya");
    listviewitem.SubItems.Add("bun");
    this.listView1.Items.Add(listviewitem);
    listView1.FullRowSelect = true;

    //MessageBox.Show("You clicked " + listView1.SelectedItems[0].Text);
}
Run Code Online (Sandbox Code Playgroud)

注册Click活动listView1

this.listView1.Click += new System.EventHandler(this.listView1_Click);
Run Code Online (Sandbox Code Playgroud)

并在它的事件处理程序检查 listView1.SelectedItems[0]

private void listView1_Click(object sender, EventArgs e)
{
     if(listView1.SelectedItems.Count > 0)
             MessageBox.Show("You clicked " + listView1.SelectedItems[0].Text);
}
Run Code Online (Sandbox Code Playgroud)

有关文档,请检查MSDN