c# 遍历textbox赋值和写入的问题
就是图片中的功能,将8个textbox中,无论是否有文本值,都存在一个txt或者xml中,程序界面启动,将txt文件内容读取,有个问题,比如1号存了内容,2号为空,3号存...
就是图片中的功能,将8个textbox中,无论是否有文本值,都存在一个txt或者xml中,程序界面启动,将txt文件内容读取,有个问题,比如1号存了内容,2号为空,3号存了内容。。。读取要对应。。。弄了很久,循环和遍历,总是出错,有没有做过类似的,给个完整代码,谢谢。
展开
3个回答
展开全部
假定你窗体上的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);也是提示“最匹配的重载方法具有一些无效参数”,能帮忙排除下吗?或者发下你的小例子,我运行看下,真奇怪了。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样,你可以做个标记 如果为空 则(假如textbox的值为空 你加,在填充的时候再判断 如果为,就知道是哪些为空了)
你觉得呢?
你觉得呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给邮箱,我发你DEMO
额。看了下上面同学回答的,读取的时候比较简便的样子。
anyway,如有需要留邮箱吧
额。看了下上面同学回答的,读取的时候比较简便的样子。
anyway,如有需要留邮箱吧
更多追问追答
追问
allable#163.com
谢谢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询