我必须编写一个menuStrip按钮来打开一个txt文件,该文件的每一行都包含汽车的详细信息(品牌,型号,年份,no.miles,价格,体型和变速箱)。每行必须单独阅读,每条信息必须显示在相应的文本框中。
我有这段代码,它在文本框中显示文件的第一行文字。
{ // opens txt file
OpenFileDialog of = new OpenFileDialog();
of.ShowDialog();
StreamReader rf = new StreamReader(@"E:\VP Assignment\CarManager.txt");
rtb_info.Text = rf.ReadLine();
rf.Close();
}
这会在单个文本框中打开第一行文本,但我不知道如何让它在每个文本框中显示相关信息。
无论我选择哪个文件,同样的文本行也会打开,我知道这是因为路径我不知道如何阻止它这样做。
答案 0 :(得分:0)
检查ShowDialog()的返回值,以确保用户实际选择了某些内容并且没有点击取消,然后使用OpenFileDialog.FileName获取用户选择的文件的名称:
OpenFileDialog of = new OpenFileDialog();
if (of.ShowDialog() == DialogResult.OK)
{
StreamReader rf = new StreamReader(of.FileName);
rtb_info.Text = rf.ReadLine();
// ... extract other "relevant" info and place into other controls ...
rf.Close();
}
答案 1 :(得分:0)
您没有将文件读到最后。 rf.ReadLine()
应该继续,直到
EndofFile
(或您使用的任何其他指针)返回true。