65.9K
CodeProject 正在变化。 阅读更多。
Home

自动完成文本框控件

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.95/5 (15投票s)

2004年1月27日

2分钟阅读

viewsIcon

102122

downloadIcon

2464

一个文本框控件,可以自动完成用户输入的内容。它允许用户选择要记住的内容以进行自动完成。

引言

这是一个文本框控件,可以自动完成用户正在输入的内容。它使用用户可以创建的单词列表。它使用文本文件来存储列表。我以这种方式存储它,是为了让用户能够轻松地使用记事本编辑列表。

背景

我有一个用户需要输入经常相同但偶尔会更改的数据。该应用程序主要由文本框组成,用户希望保持这种方式,而不是在其中添加一些组合控件。有时他们希望能够向列表中添加一个项目,例如他们正在处理的新公司。

我本可以使用注册表或数据库来存储数据,但决定使用文本文件以便用户可以轻松地编辑它。

使用代码

只需通过浏览 DLL 将控件添加到工具箱。然后将控件拖放到您的窗体上。代码由一个类组成,即 senseControl2,它继承自 TextBox。我已向 TextBox 控件添加了一些属性。ChoiceFile 属性允许您命名一个用于存储选项的文件。您可以对多个控件使用相同的文件,并通过 ChoicesSaved 事件使它们保持同步。每当用户保存新项目时,都会引发 ChoicesSaved 事件。您可以在事件处理程序中使用类似以下的代码

private void senseControl_ChoicesSaved(object sender, System.EventArgs e)
{
    if(sender == this.senseControl1)
        this.senseControl2.ReloadChoices();
    else
        this.senseControl1.ReloadChoices();
}

您无需分配文件名,控件将默认使用控件名称和 .txt 后缀。此外,您可以使用 Choices 属性预设一些值。当用户第一次保存新项目时,这将创建一个包含这些项目的文本文件。

© . All rights reserved.