如何将选项卡控件内的文本框的值写入文件

问题描述 投票:0回答:1

我可以得到一些帮助来解决我的问题吗?

我想将所有文本框值写入 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;
        }
    }
}
c# windows save windows-forms-designer
1个回答
0
投票

只需调用控件名称即可。 如:

foreach (var control in this.panel1.Controls)
© www.soinside.com 2019 - 2024. All rights reserved.