ListView控件的项级事件委托处理
在.NET中,ListView
控件提供了一些项级事件,例如ItemActivate
、ItemCheck
、ItemDrag
等
首先,创建一个简单的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
控件的ItemActivate
、ItemCheck
和ItemDrag
事件注册了事件处理程序。当用户激活(双击或按Enter键)、选中或拖动列表项时,将显示一个消息框,显示相应的操作和项目名称。
请注意,要使ItemDrag
事件正常工作,还需要设置ListView
控件的AllowDrop
属性为true
,并在窗体上实现DragDrop
和DragOver
事件。
版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论