aer*_*ruL 5 c# desktop-application autocomplete
我有列表,我想将其转换为autoCompleteStringCollection ..我不想使用foreach.
_textbox.AutoCompleteMode = AutoCompleteMode.Append;
_textbox.AutoCompleteSource = AutoCompleteSource.CustomSource;
_textbox.AutoCompleteCustomSource = user.GetNameUsers() as AutoCompleteStringCollection;
Run Code Online (Sandbox Code Playgroud)
注意user.GetNameUsers()是列表.
代码不起作用,它变为null.
谢谢
max*_*max 20
_textbox.AutoCompleteMode = AutoCompleteMode.Append;
_textbox.AutoCompleteSource = AutoCompleteSource.CustomSource;
var autoComplete = new AutoCompleteStringCollection();
autoComplete.AddRange(user.GetNameUsers().ToArray());
_textbox.AutoCompleteCustomSource = autoComplete;
Run Code Online (Sandbox Code Playgroud)
如果您经常需要这个,可以编写扩展方法:
public static class EnumerableExtensionsEx
{
public static AutoCompleteStringCollection ToAutoCompleteStringCollection(
this IEnumerable<string> enumerable)
{
if(enumerable == null) throw new ArgumentNullException("enumerable");
var autoComplete = new AutoCompleteStringCollection();
foreach(var item in enumerable) autoComplete.Add(item);
return autoComplete;
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
_textbox.AutoCompleteCustomSource = user.GetUsers().ToAutoCompleteStringCollection();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18113 次 |
| 最近记录: |