繁体   English   中英

C#文本框自动完成功能:如何提供自定义的“匹配”功能?

[英]C# Textbox Autocomplete: How to provide custom 'matching' function?

我正在通过名称的自定义来源(例如John Smith,Mary Jane等)使用具有自动完成功能的C#TextBox。问题是,如果我键入“ John”,则在下拉列表中会看到“ John Smith” 。 但是,如果我开始输入“ Smith”,则在下拉列表中将不再看到“ John Smith”。 我想更改此设置,并且我想必须扩展TextBox类并提供我自己的函数以匹配数据。 我只是不知道哪个TextBox函数需要被覆盖。

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

没有直接的方法,因为AutoCompleteCustomSource仅允许根据您的输入字符串进行前缀匹配。

TextBox.AutoCompleteCustomSource属性

使用AutoCompleteCustomSource,AutoCompleteMode和AutoCompleteSource属性来创建一个文本框,通过比较前缀被输入到所有字符串的前缀在保持源自动完成输入字符串。

最好的选择似乎是重写TextBox OnTextChanged事件 下面的问题有一个很好的例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM