【问题标题】:C# Textbox Autocomplete: How to provide custom 'matching' function?C# 文本框自动完成:如何提供自定义“匹配”功能?
【发布时间】:2014-11-15 13:00:15
【问题描述】:

我正在通过名称集合的自定义源使用带有 AutoComplete 的 C# TextBox,例如John Smith、Mary Jane 等。问题是,如果我输入“John”,我会在下拉列表中看到“John Smith”。但是,如果我开始输入“Smith”,我将不再在下拉列表中看到“John Smith”。我想改变这一点,我想我必须扩展 TextBox 类并提供我自己的函数来匹配数据。我只是不知道需要覆盖哪个 TextBox 函数。

其次,我想解决的另一个相关问题是:下拉文本始终左对齐。如何使其居中对齐?

【问题讨论】:

  • 可以使用TextChanged事件和string.Contain()方法吗?

标签: c# autocomplete textbox


【解决方案1】:

没有直接的方法可以做到这一点,因为AutoCompleteCustomSource 只允许根据您的输入字符串进行前缀匹配。

来自TextBox.AutoCompleteCustomSource Property

使用 AutoCompleteCustomSource、AutoCompleteMode 和 AutoCompleteSource 属性创建一个 TextBox 自动 通过将输入的 前缀 与 维护源中所有字符串的前缀。

最好的选择似乎覆盖了您的OnTextChanged event 或您的TextBox。下面的问题有一个很好的例子;

【讨论】:

    猜你喜欢
    • 2021-06-24
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    相关资源
    最近更新 更多