返回

winform listview 双击事件

2023-06-29 WinForms ListView 双击事件 DoubleClick事件 列表视图 双击项 2534 0

在WinForms中,你可以使用ListView控件的DoubleClick事件来处理双击事件。以下是一个示例代码:

using System;
using System.Windows.Forms;

public class Form1 : Form
{
    private ListView listView1;

    public Form1()
    {
        InitializeListView();
    }

    private void InitializeListView()
    {
        // 创建ListView控件
        listView1 = new ListView();
        listView1.Dock = DockStyle.Fill;

        // 添加列标题
        listView1.Columns.Add("列1");
        listView1.Columns.Add("列2");
        listView1.Columns.Add("列3");

        // 添加项
        listView1.Items.Add(new ListViewItem(new string[] { "项1", "值1", "数据1" }));
        listView1.Items.Add(new ListViewItem(new string[] { "项2", "值2", "数据2" }));
        listView1.Items.Add(new ListViewItem(new string[] { "项3", "值3", "数据3" }));

        // 将ListView控件添加到窗体中
        Controls.Add(listView1);

        // 添加双击事件处理程序
        listView1.DoubleClick += ListView1_DoubleClick;
    }

    private void ListView1_DoubleClick(object sender, EventArgs e)
    {
        if (listView1.SelectedItems.Count > 0)
        {
            // 获取所选项的信息
            ListViewItem selectedItem = listView1.SelectedItems[0];
            string column1 = selectedItem.SubItems[0].Text;
            string column2 = selectedItem.SubItems[1].Text;
            string column3 = selectedItem.SubItems[2].Text;

            // 在消息框中显示所选列的信息
            MessageBox.Show($"列1: {column1}\n列2: {column2}\n列3: {column3}");
        }
    }

    public static void Main()
    {
        Application.Run(new Form1());
    }
}

在上述示例中,我们创建了一个包含三列的ListView控件,并添加了一些项。通过订阅ListView的DoubleClick事件,在双击项时触发事件处理程序。在事件处理程序中,我们通过SelectedItems集合获取所选项的信息,并使用SubItems属性获取每个列的文本值。最后,我们使用MessageBox显示所选列的信息。

请注意,上述示例假设你已经在WinForms应用程序中创建了一个窗体(Form),并将其作为主窗体运行。你可以根据实际需求和控件布局进行适当的调整。

顶部