我正在使用C#文本框与自动完成通过自定义源名称集合,例如约翰史密斯,玛丽简等等。问题是,如果我输入'约翰',我确实在下拉列表中看到'约翰史密斯'。但是如果我开始输入'Smith',我不会在下拉菜单中看到'John Smith'。我想改变这一点,我想我将不得不扩展TextBox类并为匹配数据提供我自己的函数。我只是不知道哪个TextBox函数需要被覆盖。C#文本框自动完成:如何提供自定义的“匹配”功能?
其次,我想解决的另一个相关问题是:下拉文本总是左对齐。我怎样才能让它居中对齐?
我正在使用C#文本框与自动完成通过自定义源名称集合,例如约翰史密斯,玛丽简等等。问题是,如果我输入'约翰',我确实在下拉列表中看到'约翰史密斯'。但是如果我开始输入'Smith',我不会在下拉菜单中看到'John Smith'。我想改变这一点,我想我将不得不扩展TextBox类并为匹配数据提供我自己的函数。我只是不知道哪个TextBox函数需要被覆盖。C#文本框自动完成:如何提供自定义的“匹配”功能?
其次,我想解决的另一个相关问题是:下拉文本总是左对齐。我怎样才能让它居中对齐?
没有直接这样做的方法,因为AutoCompleteCustomSource
只允许根据您的输入字符串进行前缀匹配。
从TextBox.AutoCompleteCustomSource
Property
使用AutoCompleteCustomSource,AutoCompleteMode和 AutoCompleteSource属性来创建自动 通过比较前缀被输入到所有字符串的 前缀在维护完成输入字符串一个TextBox资源。
最佳选择似乎覆盖您的TextBox
的OnTextChanged
event。下面的问题就是一个很好的例子。
你可以使用'TextChanged'事件和'string.Contain()'方法? – 2014-09-21 13:11:11