c#实现带搜索功能的combobox,combobox控件名为skinComboBox3,他的数据源是string[] TUH_ID;要求快速响应
时间: 2024-09-23 20:10:04 浏览: 44
在 C# 中,为了实现ComboBox控件 skinComboBox3 的搜索功能,你可以通过添加一个文本改变事件监听并结合LINQ查询来实现实时过滤。以下是步骤:
1. 首先,在窗体加载或者初始化控件时,设置 ComboBox 的 DataSource 和 DisplayMember:
```csharp
skinComboBox3.DataSource = TUH_ID;
skinComboBox3.DisplayMember = "ItemText"; // 假设TUH_ID数组元素有"ItemText"属性作为显示文本
```
2. 添加 `TextChanged` 事件处理程序,当用户在 ComboBox 中输入文字时触发:
```csharp
皮肤ComboBox3.TextChanged += SkinComboBox3_TextChanged;
```
3. 实现 `SkinComboBox3_TextChanged` 方法,这里我们使用 LINQ 来过滤匹配的文字:
```csharp
private void SkinComboBox3_TextChanged(object sender, EventArgs e)
{
string searchText = skinComboBox3.Text.ToLower(); // 转换为小写便于比较
var filteredItems = TUH_ID.Where(item => item.ToLower().Contains(searchText)); // 使用Where方法按包含条件筛选
skinComboBox3.Items.Clear();
if (filteredItems.Any())
{
foreach (var item in filteredItems)
{
skinComboBox3.Items.Add(item);
}
}
}
```
这个方法会在每次文本框内容改变时更新 ComboBox 列表,只展示包含用户输入文本的选项。
阅读全文