自动过滤器用于带有逗号分隔字符串的文本框

时间:2017-02-22 12:05:56

标签: c#

根据要求,我们需要为Windows应用程序的电子邮件文本框应用自动过滤器选项。 我们可以使用“AutoCompleteCustomSource”

为电子邮件文本框实现自动过滤器

为此,我们以编程方式创建了“AutoCompleteStringCollection”列表,并将其设置为文本框的“AutoCompleteCustomSource”属性。 我们的电子邮件文本框也可以选择使用昏迷分隔符输入多个电子邮件。

如果是多封电子邮件,则自动过滤器无法正常工作。

例如,如果我们输入“Sa”,它将显示以“Sa”开头的电子邮件 但是如果我们在输入电子邮件后输入“Sa”(“rahul @ gmail.com,Sa”),则不会显示任何以“Sa”开头的项目。

有什么方法可以解决这个问题吗?如果您能提供解决方案,将不胜感激。

 AutoCompleteStringCollection data = new AutoCompleteStringCollection();
        data.Add("Mahesh Chand");
        data.Add("Mac Jocky");
        data.Add("Millan Peter");
        textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
        textBox1.AutoCompleteCustomSource = data;

最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

作为初学者,如果遇到AutoCompleteStringCollection data,您基本上可以使用已写入的字符串扩展,

这是第一步。我参加了TextChanged事件来检查,。然后将已写入的文本放在每个条目的前面。

private void textBox2_TextChanged(object sender, EventArgs e)
{
    if (textBox2.Text.Last() == ',')
    {
        for (int i = 0; i < data.Count; i++)
        {
            data[i] = textBox2.Text + data[i];
        }
    }
}

结果如下:

enter image description here

免责声明:问题仍有待解决:

  • 避免显示已写入的名称

  • 处理用户删除,的情况,因为到目前为止,扩展名仍然存在

  • 返回AutoCompleteStringCollection

  • 的开始状态

我希望它有所帮助