我可以得到一些帮助来解决我的问题吗?
我想将所有文本框值写入 txt 文件。
在正常情况下,当文本框位于选项卡控件或面板之外时,我使用复制的代码,但是当文本框位于面板或选项卡控件页面中时,此行不起作用。
目标是:我希望在重新启动程序时返回所有值,我该怎么做?
//To write textbox values to file (may be used on form close)
using (System.IO.StreamWriter sw = new StreamWriter("values.txt"))
{
foreach (var control in this.Controls)
{
if (control is TextBox)
{
TextBox txt = (TextBox)control;
sw.WriteLine(txt.Name + ":" + txt.Text);
}
}
}
//To read textbox values from file (may be used on form load)
using (System.IO.StreamReader sr = new StreamReader("values.txt"))
{
string line = "";
while((line=sr.ReadLine()) != null)
{
//Ugly, but work in every case
string control = line.Substring(0, line.IndexOf(':') );
string val = line.Substring(line.IndexOf(':') + 1);
if(this.Controls[control] != null)
{
((TextBox)this.Controls[control]).Text = val;
}
}
}
只需调用控件名称即可。 如:
foreach (var control in this.panel1.Controls)