c# 遍历textbox赋值和写入的问题

就是图片中的功能,将8个textbox中,无论是否有文本值,都存在一个txt或者xml中,程序界面启动,将txt文件内容读取,有个问题,比如1号存了内容,2号为空,3号存... 就是图片中的功能,将8个textbox中,无论是否有文本值,都存在一个txt或者xml中,程序界面启动,将txt文件内容读取,有个问题,比如1号存了内容,2号为空,3号存了内容。。。读取要对应。。。弄了很久,循环和遍历,总是出错,有没有做过类似的,给个完整代码,谢谢。 展开
 我来答
syht2000
高粉答主

2014-03-10 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部

假定你窗体上的textbox的名字分别是textBox1、textBox2至textBox8

string file = Application.StartupPath + @"\value.txt";//记录文件名
List<TextBox> list = null;//用于存放文本框列表
private void button1_Click(object sender, EventArgs e)//保存按钮
{
    List<string> lines = new List<string>();
    list.ForEach(t => lines.Add(t.Text));
    File.WriteAllLines(file, lines);//保存记录
    MessageBox.Show("文件已经保存至" + file);
}
private void Form1_Load(object sender, EventArgs e)//窗体加载时检查记录文件是否存在
{
    //获取窗体所有文本框
    list = this.Controls.OfType<TextBox>().OrderBy(t => t.Name).ToList<TextBox>();
    if (File.Exists(file))//如记录文件存在
    {
        string[] lines = File.ReadAllLines(file);
        int i = 0;
        list.ForEach(t =>
        {
            if (i < lines.Length)
            {
                t.Text = lines[i];
                i++;
            }
        });
    }
}
追问
File.WriteAllLines(file, lines);//保存记
这个在我VS2010编译不通过,提示“最匹配的重载方法具有一些无效参数”,我改成了:File.WriteAllLines(file, lines,System.Text.Encoding.Default);也是提示“最匹配的重载方法具有一些无效参数”,能帮忙排除下吗?或者发下你的小例子,我运行看下,真奇怪了。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dcd5bfc
2014-03-10
知道答主
回答量:86
采纳率:0%
帮助的人:11.8万
展开全部
这样,你可以做个标记 如果为空 则(假如textbox的值为空 你加,在填充的时候再判断 如果为,就知道是哪些为空了)
你觉得呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
泡沫蓝泗
2014-03-10 · 超过16用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:31.5万
展开全部
给邮箱,我发你DEMO
额。看了下上面同学回答的,读取的时候比较简便的样子。
anyway,如有需要留邮箱吧
更多追问追答
追问
allable#163.com
谢谢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式