C#winform textbox实现输入记录功能
1、将要记录和显示记忆内容的textbox属性框属性更改。
AutoCompleteMode : SuggestAppend
AutoCompleteCustomSource:CustomSource
2、引用引文读写命名空间:
using System.IO;
3、编写文本读写代码。
public class TextBoxRemind
{
private string[] array = null;
public void InitAutoCompleteCustomSource(TextBox textBox)
{
array = ReadTxt();
if (array != null && array.Length > 0)
{
AutoCompleteStringCollection ACSC = new AutoCompleteStringCollection();
for (int i = 0; i < array.Length; i++)
{
ACSC.Add(array[i]);
}
textBox.AutoCompleteCustomSource = ACSC;
}
}
string[] ReadTxt()
{
try
{
if (!File.Exists("Remind.txt"))
{
FileStream fs =
File.Create("Remind.txt");
fs.Close();
fs = null;
}
return File.ReadAllLines("Remind.txt", Encoding.Default);
}
catch
{
return null;
}
}
public void Remind(string str)
{
StreamWriter writer = null;
try
{
if (array != null && !array.Contains(str))
{
writer = new StreamWriter("Remind.txt", true, Encoding.Default);
writer.WriteLine(str);
}
}
finally
{
if (writer != null)
{
writer.Close();
writer = null;
}
}
}
}
4、界面登录时调用记录文本,并且初始化:
private TextBoxRemind remind = null;
public Dnnew()
{
InitializeComponent();
remind = new TextBoxRemind();
InitTextBoxRemind();
}
void InitTextBoxRemind()
{
remind.InitAutoCompleteCustomSource(textBox2);
}
5、在什么时候记录,也就是说第一次输入的字符串在什么时候记录到文本中一边下次使用。我这里是在回车事件后记录。
if (textBox2.Text.Trim() != "")
{
remind.Remind(textBox2.Text.Trim());
InitTextBoxRemind();
}
6、测试功能完美实现,达到预期的目的。