C# WinForm —— 11 ListBox介绍

1. 简介

列表框,可以从中选择一项或多项
在这里插入图片描述

2. 常用属性

属性解释
(Name)控件ID,在代码里引用的时候会用到,一般以 lb开头
BackColor背景颜色
BoderStyle边框样式:无、FixedSingle、Fixed3D
DataSource指示此控件将用来获取其项的列表,它的数据通常是一个DataTable, 或者是一个List,dictionary,通常通过一个中间绑定控件BoundingSource进行数据转换,如果指定数据源的话,要设置DisplayMember属性值和ValueMember属性值
DisplayMember列表项中显示的文本信息
ValueMember项的实际值
DockListBox在当前容器中的位置是靠上、靠下、靠左、靠右、还是全填充
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 判断某项是否存在,移除项

在这里插入图片描述
在这里插入图片描述

4.4 SelectedIndexChanged()事件

通过绑定数据的方式添加项时,当选择的项发生改变时,触发的事件,比如:
在这里插入图片描述

在这里插入图片描述

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

要在 C# WinForm 中实现修改密码功能,可以按照以下步骤进行: 1. 在 WinForm 中添加两个文本框和一个按钮,一个文本框是用于输入旧密码,另一个文本框是用于输入新密码,按钮是用于提交修改密码的操作。 2. 在按钮的 Click 事件中,编写代码实现密码修改的逻辑。首先,可以将用户输入的旧密码和新密码保存到字符串变量中,然后可以使用一些条件语句对密码进行验证,例如,旧密码是否正确,新密码是否符合要求等等。如果密码验证通过,可以调用相应的方法将新密码保存到数据库中。 下面是一个简单的密码修改示例代码: ```csharp private void btnChangePassword_Click(object sender, EventArgs e) { string oldPassword = txtOldPassword.Text.Trim(); string newPassword = txtNewPassword.Text.Trim(); // 验证旧密码是否正确 if (!ValidateOldPassword(oldPassword)) { MessageBox.Show("旧密码不正确!", "提示"); return; } // 验证新密码是否符合要求 if (!ValidateNewPassword(newPassword)) { MessageBox.Show("新密码不符合要求!", "提示"); return; } // 将新密码保存到数据库中 if (!SaveNewPassword(newPassword)) { MessageBox.Show("密码修改失败!", "提示"); return; } MessageBox.Show("密码修改成功!", "提示"); } private bool ValidateOldPassword(string password) { // TODO: 根据需要实现旧密码验证逻辑 return true; } private bool ValidateNewPassword(string password) { // TODO: 根据需要实现新密码验证逻辑 return true; } private bool SaveNewPassword(string password) { // TODO: 根据需要实现保存新密码到数据库的逻辑 return true; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值