无法将类型system.windows.forms.autocompletesource隐式转换为system.windows.forms.autocompletestringcollection
时间: 2024-09-20 14:11:39 浏览: 43
c# 文本框自动完成自动补全示例 1
当你遇到这个错误的时候,通常是在.NET Framework的Windows Forms应用程序中尝试将`AutoCompleteSource`类型的值赋给需要`AutoCompleteStringCollection`类型的变量。这两个类型虽然都与自动完成控件(AutoComplete)相关,但是它们是不同的:
- `System.Windows.Forms.AutoCompleteSource`是一个枚举类型,它定义了可以填充自动完成控件的数据源来源,如List、Array等。
- `System.Windows.Forms.AutoCompleteStringCollection`则是实际用于存储字符串数据的集合。
要解决这个问题,你需要明确地进行类型转换,例如:
```csharp
AutoCompleteStringCollection collection = (AutoCompleteStringCollection)yourAutoCompleteSource;
```
或者,如果你确实有一个`AutoCompleteSource.List`类型的值,你应该创建一个新的`AutoCompleteStringCollection`并将数据添加到其中:
```csharp
AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
foreach (string item in yourAutoCompleteSource)
{
collection.Add(item);
}
yourAutoCompleteControl.DataSource = collection;
```
阅读全文