【发布时间】:2015-11-23 17:44:40
【问题描述】:
我有一个我正在开发的桌面应用程序,它应该可以跟踪某些事物的小型 cmets。这个想法是有一个用于保存文件的 savefiledialog 和一个用于打开文件的 openfiledialog。但是在 openToolStripMenuItem_Click 方法中,我无法从文件中读取并将 textbox1.Text 设置为正在读取的文件并打开要为小型 cmets 编辑的文件中的文本。下面是代码
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog fo = new OpenFileDialog();
fo.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
fo.ShowDialog();
if (File.Exists(fo.FileName))
{
using (StreamReader reader = new StreamReader(fo.FileName,Encoding.UTF8)) {
textBox1.Text = reader.ReadToEnd();
}
}
}
这很好用
using (StreamReader reader = new StreamReader(fo.FileName,Encoding.UTF8)) {
textBox1.Text = reader.ReadToEnd();
}
这也是
textbox1.Text = File.ReadAllText(fo.FileName);
编辑:我打开的文件中没有任何内容。
【问题讨论】:
-
您提到您“从文件读取和设置文本框1 时遇到问题”到底是什么问题?
-
当提出与 MSDN 文章标题完全匹配的问题时,例如 [如何:从 C# 文本文件中读取](msdn.microsoft.com/en-us/library/ezwyzy7b.aspx),请考虑链接到该文章并澄清究竟是什么不清楚。
-
当我从文件中读取并将值从 textbox1.Text 设置为 StreamReader 对象方法或 File.Open 我得到一个 System.IO.StreamReader 或什么都没有,在文本框中而不是实际文件内容。
-
学习如何使用方法的返回类型来发挥自己的优势是值得的。 File.OpenText 的返回类型是 StreamReader - 您可以谷歌“StreamReader”并了解如何使用它。提示: ToString() 没有用。查看此问题的答案、提供的 MSDN 链接或标记为重复的问题。一切都会在这里为您提供帮助。
-
...您可以使用 StreamReader,但不是那样。
标签: c# winforms openfiledialog