c# - 双击 ListView 中的项目 C#

标签 c# listview double-click

我仍然不明白如何使 ListView 中的项目可点击并出现消息框。

这是我的代码。

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;

//显示标题 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;
        }

我已经阅读了 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);
}

这个打印输出错误

argument out of range. '0' is not valid number of index.

请帮我解决这个问题。

最佳答案

button6_Click() 上仅在 listView1 中添加新创建的 listviewitem

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);
}

针对 listView1 注册 Click 事件

this.listView1.Click += new System.EventHandler(this.listView1_Click);

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

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

文档,please check MSDN

关于c# - 双击 ListView 中的项目 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11895609/

相关文章:

c# - 计算以接缝结束的 2 个网格之间的法线

c# - 如何创建驻留在托盘中的无窗口 C# 应用程序?

android - Android中的多列自定义ListView

android - 如何避免在 Google 自定义模板请求中收到错误代码 0?

batch-file - 批处理 : How to read a path from a double-clicked file?

c# - 如何迭代泛型中的所有 DbSet?

c# 下面构造函数中的两个 this 关键字有什么区别?

android - 如何将 YouTube 播放列表解析为 ListView

javafx listview 项目顺序

java - 在java中双击鼠标事件