本人是个在校大学生,爱好编程,一年多前曾用C#做过一个针对我们学校图书馆的个人图书借阅管理及提醒归还的Winform程序,后来由于大多数同学的机子都没有安装.NET,无法运行我的程序,我做这个程序的热情也就不是那么高了,把当初设想的基本功能实现后就放那不管了,今天突然想起以前还有个BUG没解决掉,就准备再修改一下这个程序。改好后觉得在用户输入用户名和密码这块做得不是太人性化,用户如果输错了密码,再次输入用户名的时候就得重新输入,我就想着加一个像CSDN那样,在每次输入用户名时,能显示以前输入记录的功能。上网搜了一下,有人说要用到什么COMBOBOX,对于WINFORM编程,我还是菜鸟级,不懂什么是COMBOBOX,还是看看能不能用其他的笨方法实现,仔细看了一下TEXTBOX控件的相关属性,发现在杂项里有AutoCompleteCustomSource,AutoCompleteMode,AutoCompleteSource这样三项属性,再看看说明,果然是用来实现输入提示的。其中在AutoCompleteCustomSource属性里可以输入多个你想要出现在输入提示里的字符串集合,如this.Username.AutoCompleteCustomSource.AddRange(new string[] { "abc","jdk","xyz"});
我的思路就是把用户每次输入的用户名都连接成一个字符串,用户名之间用','隔开,因为AutoCompleteCustomSource.AddRange()里需要的参数是字符串数组,直接把上面讲的一串用户名字符串写进去是不行的,用Split(','),将用户名保存在strArray字符串数组里,参数填上这个数组this.Username.AutoCompleteCustomSource.AddRange(strArray);运行程序试试,成功实现显示历史输入记录功能。