C#win中的自动完成功能形成动态

时间:2016-06-13 19:21:27

标签: c# winforms selenium selenium-webdriver

所以我是C#编程的新手,我正在尝试开发一个小应用程序,它将帮助我搜索我们拥有的所有测试。 所以我有一个搜索框和一个按钮。因此无论我在搜索框中输入什么内容,我都会使用button_click方法对包含所有测试的列表进行包含。根据匹配,它会吐出结果。简单!

所以我认为我可以使用此列表创建一个不错的自动完成功能。 UI发现Win表单中存在自动完成属性。但是我正在努力想出一种方法,我可以将C#中的列表传递到win表单设计视图中并使其使用它。 人们可以硬编码所有项目的列表,它就像一个魅力,但我想让它松散耦合。

1 个答案:

答案 0 :(得分:1)

您可以配置TextBox以使用自定义来源进行自动完成:

  • TextBox的{​​{3}}属性设为AutoCompleteModeAppendSuggestAppend
  • Suggest属性设置为CustomSource
  • 将自定义来源分配到TextBox的{​​{3}}属性。

示例

在下面的示例中,我将月份名称列表设置为自动完成源。您可以使用任何string[]作为自动完成自定义来源。

textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
var source = new AutoCompleteStringCollection();
source.AddRange(System.Globalization.CultureInfo
                      .InvariantCulture.DateTimeFormat.MonthNames);
textBox1.AutoCompleteCustomSource = source;