温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ListView控件的项级事件委托处理

发布时间:2024-09-10 20:01:54 阅读:93 作者:小樊 栏目:编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在.NET中,ListView控件提供了一些项级事件,例如ItemActivateItemCheckItemDrag

首先,创建一个简单的Windows Forms应用程序,并在主窗体上添加一个ListView控件。将ListView控件的View属性设置为Details,并添加一些列。

using System;
using System.Windows.Forms;

namespace ListViewEventExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            // 添加列
            listView1.Columns.Add("Name", 100);
            listView1.Columns.Add("Age", 50);

            // 添加示例数据
            ListViewItem item1 = new ListViewItem("Alice");
            item1.SubItems.Add("30");
            listView1.Items.Add(item1);

            ListViewItem item2 = new ListViewItem("Bob");
            item2.SubItems.Add("25");
            listView1.Items.Add(item2);

            // 注册事件处理程序
            listView1.ItemActivate += ListView1_ItemActivate;
            listView1.ItemCheck += ListView1_ItemCheck;
            listView1.ItemDrag += ListView1_ItemDrag;
        }

        private void ListView1_ItemActivate(object sender, EventArgs e)
        {
            ListViewItem selectedItem = listView1.SelectedItems[0];
            MessageBox.Show($"Activated: {selectedItem.Text}");
        }

        private void ListView1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            ListViewItem checkedItem = listView1.Items[e.Index];
            MessageBox.Show($"Checked: {checkedItem.Text}");
        }

        private void ListView1_ItemDrag(object sender, ItemDragEventArgs e)
        {
            ListViewItem draggedItem = (ListViewItem)e.Item;
            MessageBox.Show($"Dragged: {draggedItem.Text}");
        }
    }
}

在这个示例中,我们为ListView控件的ItemActivateItemCheckItemDrag事件注册了事件处理程序。当用户激活(双击或按Enter键)、选中或拖动列表项时,将显示一个消息框,显示相应的操作和项目名称。

请注意,要使ItemDrag事件正常工作,还需要设置ListView控件的AllowDrop属性为true,并在窗体上实现DragDropDragOver事件。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×