c# - List<string> 如何成为 AutoCompleteStringCollection

标签 c# autocomplete desktop-application

我有列表,我想将它转换为 autoCompleteStringCollection.. 我不想使用 foreach。

        _textbox.AutoCompleteMode = AutoCompleteMode.Append;
        _textbox.AutoCompleteSource = AutoCompleteSource.CustomSource;
        _textbox.AutoCompleteCustomSource = user.GetNameUsers() as AutoCompleteStringCollection;

注意 user.GetNameUsers() 是列表。

代码不起作用,它变为空。

谢谢

最佳答案

_textbox.AutoCompleteMode = AutoCompleteMode.Append;
_textbox.AutoCompleteSource = AutoCompleteSource.CustomSource;
var autoComplete = new AutoCompleteStringCollection();
autoComplete.AddRange(user.GetNameUsers().ToArray());
_textbox.AutoCompleteCustomSource = autoComplete;

如果你经常需要这个,你可以写一个扩展方法:

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;
    }
}

用法:

_textbox.AutoCompleteCustomSource = user.GetUsers().ToAutoCompleteStringCollection();

关于c# - List<string> 如何成为 AutoCompleteStringCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4678194/

相关文章:

c# - 如果安全不是问题,那么不可变接口(interface)是一个好的模式吗?

c# - Entity Framework 核心 : Access parent from child

c# - 删除行从 CSV 文件开始 在 SSIS 控制流脚本任务中

dependency-injection - Ninject 与 Windows 应用程序

java - 我想在 Web 应用程序中进行身份验证并为桌面应用程序使用相同的凭据。我怎么做?

c# - MVVM 应用程序中用户配置数据的实用管理

c# - 调整大小/裁剪使用 PDFsharp 创建的 PDF 文档

c# - 如何在 ASP.NET 中制作自动完成的文本框?

jQuery 自动完成插件问题

javascript - jQuery 自动完成 - 等待所有文档加载完毕