c# COMBOBOX搜索 不使用AutoCompleteMode 属性
时间: 2023-12-14 10:35:59 浏览: 115
如果您不想使用 `AutoCompleteMode` 属性来实现 `ComboBox` 的搜索功能,您可以使用以下方法:
1. 添加一个文本框和一个按钮到窗体上,用于输入搜索关键字和触发搜索操作。
2. 将 `ComboBox` 的 `DropDownStyle` 属性设置为 `DropDown`,这将使其保持展开状态。
3. 在按钮的 `Click` 事件中,使用 `LINQ` 查询筛选出符合搜索关键字的项,并将结果添加到 `ComboBox` 中。
以下是一个示例代码:
```csharp
private void btnSearch_Click(object sender, EventArgs e)
{
string keyword = txtSearch.Text.Trim().ToLower();
if (!string.IsNullOrEmpty(keyword))
{
var results = comboBox1.Items.Cast<string>()
.Where(item => item.ToLower().Contains(keyword))
.ToList();
if (results.Any())
{
comboBox1.DataSource = results;
comboBox1.DroppedDown = true;
}
else
{
MessageBox.Show("No results found");
}
}
}
```
在这个示例中,我们首先获取搜索框中的关键字,并使用 `LINQ` 查询筛选出符合条件的项。如果找到了匹配项,我们将它们添加到 `ComboBox` 中,并强制展开下拉列表。否则,我们会显示一个消息框来通知用户未找到任何结果。
阅读全文