KryptonListView ✓ LCode 已集成 Toolkit
命名空间:Krypton.Toolkit · 程序集:Krypton.Toolkit.dll
简介
KryptonListView 是增强型 ListView 控件,替代标准 System.Windows.Forms.ListView。它保留 Details(多列表头)、LargeIcon、SmallIcon、List、Tile 五种视图模式,同时以 Krypton 主题渲染表头、行选中与悬停效果,适合展示多列数据、文件列表等场景。
常用属性
| 属性 | 类型 | 说明 |
|---|---|---|
View | View | 视图模式(Details / LargeIcon / SmallIcon / List / Tile) |
Columns | 集合 | 列集合(Details 模式下的表头) |
Items | 集合 | 行项集合(ListViewItem) |
SelectedItems | 集合 | 选中的行集合 |
MultiSelect | bool | 是否允许多行选择 |
FullRowSelect | bool | 点击行任意位置即选中整行 |
GridLines | bool | 是否显示网格线(Details 模式) |
CheckBoxes | bool | 每行前是否显示勾选框 |
HideSelection | bool | 失去焦点时是否隐藏选中高亮 |
SmallImageList | ImageList | 小图标列表 |
StateCommon.Item.Back.Color1 | Color | 行背景色 |
快速上手
Details 模式多列表格
using Krypton.Toolkit;
var listView = new KryptonListView();
listView.Dock = DockStyle.Fill;
listView.View = View.Details;
listView.FullRowSelect = true;
listView.GridLines = true;
listView.HideSelection = false;
// 定义列
listView.Columns.Add("文件名", 180);
listView.Columns.Add("大小", 80);
listView.Columns.Add("修改日期", 140);
// 添加行
var item = new ListViewItem("报表.xlsx");
item.SubItems.Add("128 KB");
item.SubItems.Add("2026-07-31");
listView.Items.Add(item);
listView.Items.Add(new ListViewItem(new[] { "说明.txt", "2 KB", "2026-07-30" }));
this.Controls.Add(listView);
响应选中与双击
// 选中行改变
listView.SelectedIndexChanged += (s, e) =>
{
if (listView.SelectedItems.Count > 0)
Console.WriteLine(listView.SelectedItems[0].Text);
};
// 双击打开
listView.DoubleClick += (s, e) =>
{
if (listView.SelectedItems.Count > 0)
OpenFile(listView.SelectedItems[0].Text);
};
进阶用法
带图标的行与勾选框
// 关联图标列表
var images = new ImageList();
images.Images.Add("doc", Properties.Resources.icon_doc);
listView.SmallImageList = images;
var item2 = new ListViewItem("合同.docx", "doc"); // 第二参数为图标 key
listView.Items.Add(item2);
// 启用行勾选框并收集勾选项
listView.CheckBoxes = true;
listView.ItemChecked += (s, e) =>
Console.WriteLine($"{e.Item.Text} 勾选:{e.Item.Checked}");
列排序
// 点击表头排序(简单文本排序)
listView.ColumnClick += (s, e) =>
{
listView.Sorting = listView.Sorting == SortOrder.Ascending
? SortOrder.Descending
: SortOrder.Ascending;
listView.ListViewItemSorter = new ColumnSorter(e.Column, listView.Sorting);
listView.Sort();
};
提示:需要编辑单元格、数据绑定或复杂表格功能时,请改用 KryptonDataGridView;ListView 更适合只读的文件/项目列表展示。
对应示例项目
📁 Source/Krypton Toolkit Examples/KryptonListView Examples/
包含:五种视图模式切换、图标行、勾选框、列排序演示。