C# WinForm —— 11 ListBox介绍

1. 简介

列表框,可以从中选择一项或多项

2. 常用属性

属性 解释
(Name) 控件ID,在代码里引用的时候会用到,一般以 lb开头
BackColor 背景颜色
BoderStyle 边框样式:无、FixedSingle、Fixed3D
DataSource 指示此控件将用来获取其项的列表,它的数据通常是一个DataTable, 或者是一个List,dictionary,通常通过一个中间绑定控件BoundingSource进行数据转换,如果指定数据源的话,要设置DisplayMember属性值和ValueMember属性值
DisplayMember 列表项中显示的文本信息
ValueMember 项的实际值
Dock ListBox在当前容器中的位置是靠上、靠下、靠左、靠右、还是全填充
ForeColor 前景色,显示文本
Items 列表框中要显示的一些项的集合
ItemHeight 每一项的高度(以像素为单位)
MultiColumn 是否允许多列显示,默认是false
ColumnWidth 多列ListBox中各列的宽度,默认值是0,不是以多列显示的
SelectionMode 项的选择模式,是单项选择、简单多项选择、扩展多项选择,还是不可选择。SelectionMode.MultiExtended 表示允许选择多项,但选中的条目必定相连(相邻),鼠标当选中一项后,按 键盘↑↓可以选定一个范围的选项,但选项不能间隔选中。SelectionMode.MultiSimple 表示允许选择多项,可以任意选中多个条目,点一下可以选中一条项目,重复点一下即取消。 获取选中项的索引值:点击ListBox,按F12,
Tag 与对象关联的用户定义数据
Sorted 是否对列表进行排序
ScrollAlwaysVisible 是否总是显示滚动条

要想在ListBox中添加内容,有以下2种方式:

  1. 在Items中添加项
  2. 指定DataSource, DisplayMember, ValueMember

3. 常用事件和方法

常用事件 解释
SelectedIndexChanged 所选择的项发生改变时,所做的操作
常用方法 解释
Add(object item) 添加项
AddRange(ObjectCollection value) 一次添加多项
AddRange(object\[\] items) 添加items数组
Clear() 清空ListBox里面的所有项
Contains(object value) 判断某一项是否存在于ListBox的项集合中
IndexOf(object value) 获取某一项的索引值
Insert(int index, object item) 将某一项插入到特定索引指定的位置
Remove(Object value) 移除某一项
RemoveAt(int index) 移除索引值对应的项

4. 示例:

4.1 添加项


4.2 插入项,获取索引


4.3 判断某项是否存在,移除项


参考:2023年C#之WinForm零基础教程50讲
c#listbox使用详解和常见问题解决

相关推荐
Antruly几秒前
C++ Web 开发选型漫谈:从 Drogon 到 libuvcpp + uvp,八个项目的定位、兼容性与务实排名
开发语言·前端·c++
EnCi Zheng5 分钟前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
大数据·开发语言·python
香蕉大香蕉(06敬畏市场)16 分钟前
高频八股 · Java 并发编程(10):异步、ThreadLocal 与虚拟线程(收官)
java·开发语言·网络·jvm·python·ai·实习
念何架构之路19 分钟前
Go reflect包值操作 Value 的读写、可设置性与 interface 布局
开发语言·后端·golang
云中飞鸿26 分钟前
.Net和C#有什么关系?(从C++视角观察)
开发语言·c#·.net
another heaven27 分钟前
【C/C++ C++ 新特性中的那些内存优化的特性】
c语言·开发语言·c++
Wang's Blog29 分钟前
Java 项目实战: 交友项目 - 查询推荐动态
java·开发语言·交友
jaysee-sjc36 分钟前
【苍穹外卖】Day10:定时任务与 WebSocket 实时提醒实战
java·开发语言·javascript·数据库·vue.js·websocket·网络协议
ysu_031438 分钟前
【C++ 进阶之路】(二)从内联函数到类与对象:深挖内存对齐、this 指针与三大默认成员函数
开发语言·数据结构·c++·笔记·面向对象·this
独隅39 分钟前
Claude 高效应用实战指南
android·java·开发语言·claude·claude code