保存文本框自动完成自定义源
本文关键字:自定义 文本 保存 | 更新日期: 2023-09-27 18:30:58
所以,我有以下内容....
textBox1.Text = Properties.Settings.Default.NetworkIP;
AutoCompleteStringCollection sc = Properties.Settings.Default.IPList;
textBox1.AutoCompleteCustomSource = sc;
和。。
private void textBox1_Click(object sender, EventArgs e)
{
if (!textBox1.AutoCompleteCustomSource.Contains(textBox1.Text))
textBox1.AutoCompleteCustomSource.Add(textBox1.Text);
textBox1.Text = textBox1.Text;
}
和。。
private void textBox1_Leave(object sender, EventArgs e)
{
AutoCompleteStringCollection sc = Properties.Settings.Default.IPList;
sc.Add(textBox1.Text);
Properties.Settings.Default.IPList = sc;
Properties.Settings.Default.NetworkIP = textBox1.Text;
Properties.Settings.Default.Save();
}
网络IP的保存/恢复工作正常。保存和恢复IPList工作正常。小问题。编辑 textBox1 后按 Enter 或 TAB 键只会在突出显示 textBox1 的内容中,光标位于末尾。 我必须物理单击下一个字段才能将光标移动到上面。
注释掉这个允许 TAB 但不能输入正常工作,但当然我没有得到保存......
AutoCompleteStringCollection sc = Properties.Settings.Default.IPList;
sc.Add(textBox1.Text);
Properties.Settings.Default.IPList = sc;
用户是什么,如何删除下拉列表中的条目?
感谢您的帮助。
伊恩
我有点困惑您是否有兴趣保存Textbox
选择或AutoCompleteSource
,假设您需要存储Specialized.StringCollection
(IPList 或更新的 IPList),我有以下代码片段可能有助于解决您的情况。
AutoCompleteStringCollection source = textBox1.AutoCompleteCustomSource;
if (Properties.Settings.Default.IPLIST != null)
{
Properties.Settings.Default.IPLIST.Clear();
Properties.Settings.Default.IPLIST.AddRange(source.Cast<string>().ToArray());
Properties.Settings.Default.Save();
}
此外,还可以通过将设置类型更改为 System.Windows.Forms.AutoCompleteStringCollection 来将自动完成条目存储为 AutoCompleteStringCollection
AutoCompleteStringCollection sc = Properties.Settings.Default.autoComp
textBox1.AutoCompleteCustomSource = sc;
sc.Add("new option")//or whatever you want
//set the setting
Properties.Settings.Default.autoComp;
//save it to file
Properties.Settings.Default.Save();