登陆框提示历史记录

Winform程序,用户登陆时,每次都要输入完整的用户名,有没有什么方法只要输入一部分就可以了。答案是肯定的

Textbox的属性中就有AutoCompleteSource(自动完成功能的源)和AutoCompleteMode(自动完成功能的模式);都是枚举,

public enum AutoCompleteMode {
    //     禁用 System.Windows.Forms.ComboBox 和 System.Windows.Forms.TextBox 控件的自动完成功能。
    None = 0,
    //     显示与编辑控件关联的辅助下拉列表。此下拉列表填充了一个或多个建议完成字符串。
    Suggest = 1,
    //     将最可能的候选字符串的其余部分追加到现有的字符,并突出显示追加的字符。
    Append = 2,
    //     同时应用 Suggest 和 Append 选项。
    SuggestAppend = 3,
}


public enum AutoCompleteSource {
    //     将文件系统指定为源。
    FileSystem = 1,
    //     包括历史记录列表中的统一资源定位器 (URL)。
    HistoryList = 2,
    //     包括最近使用的 URL 列表中的统一资源定位器 (URL)。
    RecentlyUsedList = 4,
    //     将 System.Windows.Forms.AutoCompleteSource.HistoryList 和 System.Windows.Forms.AutoCompleteSource.RecentlyUsedList
    //     的等效项指定为源。
    AllUrl = 6,
    //     将 System.Windows.Forms.AutoCompleteSource.FileSystem 和 System.Windows.Forms.AutoCompleteSource.AllUrl
    //     的等效项指定为源。当 System.Windows.Forms.AutoCompleteMode 已设置为某个值,而不是默认值时,此即为默认值。
    AllSystemSources = 7,
    //     指定仅自动完成目录名而不自动完成文件名。
    FileSystemDirectories = 32,
    //     将内置 System.Windows.Forms.AutoCompleteStringCollection 中的字符串指定为源。
    CustomSource = 64,
    //     指定当前没有使用任何 System.Windows.Forms.AutoCompleteSource。这是 System.Windows.Forms.AutoCompleteSource
    //     的默认值。
    None = 128,
    //     指定 System.Windows.Forms.ComboBox 的项表示源。
    ListItems = 256,
}

设置textBox的textBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
textBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;

再设置一个自动完成数据集AutoCompleteStringCollection给textbox即可

原文地址:https://www.cnblogs.com/ITBread/p/2542147.html