ListBox加载大量数据时,避免窗体闪烁的方法:
在加载语句的前后分别加上 BeginUpdate()方法 和 EndUpdate()方法
指定一个集合为绑定的数据源
1. 首先,右键项目,添加类
2. 在新建的类文件中添加属性值信息
3. 构建初始化的对象集合
lbList.Items.Clear();
{List<UserInfo> list = new List<UserInfo>();list.Add(new UserInfo()){Id = 1,Name = "admin"});list.Add(new UserInfo()){Id = 2,Name = "lycchun"});list.Add(new UserInfo()){Id = 3,Name = "lwb"});list.Add(new UserInfo()){Id = 4,Name = "Eleven"});list.Add(new UserInfo()){Id = 5,Name = "Jason"});
}
4. 将构建的数据源添加到 ListBox
注意:当用Items添加项的时候,如果添加的每个项也是这种对象的话,也要加上这两句话:
lbList.DisplayMember = "Name"; //项显示的文本对应属性名
lbList.ValueMember = "Name"; //项的实际值对应的属性名
5. 对显示的文本进行操作
在窗体界面添加一个按钮,通过 点击按钮 执行操作
5.1 显示选中项的内容
将实际值对应的属性名改为 ID(一般来说,项的实际值,会指定对应显示值的编号),再重新运行
5.2 在 TextBox 中显示选中的多项的索引、ID、Name
遍历选定项的 ID、Name
5.3 单项的操作
5.4 设置DataSource之后,无法修改项的集合
解决方法:把对 对象的操作 变成 对数据源的操作
region折叠代码
折叠后:
参考:2023年C#之WinForm零基础教程50讲