组合框-自动完成,允许删除(删除)所选内容,限制为列表

本文探讨了在VB.NET中如何通过自定义ComboBox控件的行为,实现限制用户选择、允许删除选择项以及自动完成列表中项目的功能。文章详细介绍了如何设置DropDownStyle、AutoCompleteMode和AutoCompleteSource属性,并提供了用于验证输入的事件处理代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有许多ComboBoxes,其中DataSource设置为绑定源,该绑定源是值和显示文本的列表。

我对这些组合框的要求是:

-将用户限制为仅选择列表中的项目

-如果用户选择了一个项目,然后改变了主意,则他们应该能够删除所选的项目,以便组合框为空白,并且未选择任何项目

-如果用户按下某些键,则应自动选择列表中以这些字符开头的项目

顺便说一句,在MS Access VBA中很容易满足这些要求,而在VB.NET中则很容易满足。

DropDownStyle“ DropDownList”将用户限制在列表中,但不允许用户选择一个项目,然后删除该选择。

DropDownStyle“ DropDown”并不将用户限制在列表中,而是允许用户选择一个项目,然后删除该选择。

因此,我的解决方案如下:

-使用“ DropDown” dropdown样式

-将AutoCompleteMode设置为Append并将AutoCompleteSource设置为ListItems

-将此代码放入具有组合框(名称为cmb_x,cmb_y,cmb_z的组合框)的每种形式中:

Private Sub ComboboxValidating(ByVal发送者作为对象,ByVal e作为System.ComponentModel.CancelEventArgs)处理cmb_x.Validating,cmb_y.Validating,cmb_z.Validating

昏暗的盒子作为组合框

TheBox =发件人

如果TheBox.SelectedIndex = -1并且TheBox.Text <>“”然后

TheBox.Text =“”

万一

结束子

这意味着,如果用户键入的内容不在列表中,那么他们键入的内容就会消失。

From: https://bytes.com/topic/visual-basic-net/insights/929068-combobox-autocomplete-allow-deletion-removal-selection-limit-list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值