c#:textbox中数据保存到txt文本中,从文本读取数据到textbox.

有两个按钮,按钮一将textbox中数据保存到txt文本中,按钮2从文本读取数据到textbox.如果是一个两个,这个我会。现在的问题是两组textbox,分别是textbox1~10,textbox11~20.i=1~10,i随机。比如当I=5时,就保存text1~5,text11~15的数据。读取时也是相应的读取。求大师,能调试成功的加分。保存到D:/123.txt.

你提取的数据可以用一个二维数组保存,str[2,10]。另外通过循环 i 来获取和设置文本框中的内容,具体代码如下:

首先你要读写文件,就要引用:

using System.IO;

你上文说的i,我写成全局变量,你可以在需要的代码中修改:

int count = 3;

按钮一,即从文本框中获取值并写入到文件的代码:

private void button1_Click(object sender, EventArgs e)
{
    string[,] str = new string[2, count];
    StreamWriter sw = File.CreateText("D:\\123.txt");
    for (int i = 0; i < count; i++)
    {
        string controlName1 = string.Format("textBox{0}",i+1);
        string controlName2 = string.Format("textBox1{0}", i+1);
        str[0,i] = (Controls.Find(controlName1, false)[0]).Text;
        str[1,i] = (Controls.Find(controlName2, false)[0]).Text;
        sw.WriteLine(str[0,i]);
        sw.WriteLine(str[1,i]);
    }
    sw.Close();
}

按钮二,从文件中读取数据然后赋值到文本框中的代码:

private void button2_Click(object sender, EventArgs e)
{
    string[,] str = new string[2, count];
    StreamReader sr = File.OpenText("D:\\123.txt");
    int k = 0;//当前读取的是第几行
    while (sr.Peek() != -1)
    {
        str[k % 2, k / 2] = sr.ReadLine();
        k++;
    }
    for (int i = 1; i <= count; i++)
    {
        string controlName1 = string.Format("textBox{0}", i );
        string controlName2 = string.Format("textBox1{0}", i );
        (Controls.Find(controlName1, false)[0]).Text = str[0, i-1];
        (Controls.Find(controlName2, false)[0]).Text = str[1, i-1];
    }
    sr.Close();
}

 你按上面代码写试试,应该可以实现,我自己试验过的。

 

另外Controls.Find()函数可以获取指定ID名称的控件,这样通过与循环组合就可以实现你功能。

 

意思信息希望对你有帮助^^

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-19
//在引用里添加
using System.IO;

///窗体应用类中写方法

//写入
StreamWriter sw=new StreamWriter(TXT文件完整路径);
sw.WriterLine(你要写入的内容,可以换行带格式);
sw.Flush();//文件流
sw.Close();//最后要关闭写入状态

//读取
System.IO.StreamReader st;
st=new System.IO.StreamReader(TXT文件完整路径,System.Text.Encoding.UTF8);
//UTF-8通用编码
string 要读取的字符串=st.ReadToEnd();
st.Close();

第2个回答  2013-11-19
在存储的时候可以以数组的方式存储,存到文件中是一串拼接起来的字符串;读取的时候直接分割就行了追问

我要是会我就不回来问了

追答

这个麻烦点,给你比划两下子,加上我扣3.9.9.2.0.6.2.2.1

第3个回答  2013-11-19
按照描述应该是20个文本框 数据具体的是一组数据还是不同文本框内对应不同的数据这个没表示清楚,如果是相同的数据很简单 填充文本框就可以,如果是不同的数据 保存的时候就要区分了追问

肯定是不同的数据啦,每个文本框数据都是填进去的,然后保存到文本框。

相似回答