ListBox项目为文本框的AutoCompleteCustomSource

时间:2011-09-27 00:41:57

标签: c# .net winforms

我已使用datasource属性将一些项目填充到列表框中。现在我需要从列表框中列出的项目为textBox设置AutoCompleteCustomSource。确切地说,ListBox的DataSource和textBox的AutoCompleteCustomSource是相同的。如何在不使用for循环的情况下设置AutoCompleteCustomSource?
。仅限.Net 2.0。不支持LINQ

3 个答案:

答案 0 :(得分:1)

AutoCompleteStringCollection只需string[],因此它应该是这样的:

var cc = new AutoCompleteStringCollection();
cc.AddRange(listBox1.Items.Cast<string>().ToArray());

答案 1 :(得分:0)

如果您的ListBox是字符串列表,您应该能够这样做:(未经测试)

textBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
textBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox.AutoCompleteCustomSource.AddRange((List<String>)listBox.DataSource);

答案 2 :(得分:0)

这是一个类似的问题和答案似乎是合适的。 autocomplete textbox on listbox

另一个类似问题C# AutoComplete