显示文件而不是RSC版本

时间:2013-10-03 20:05:28

标签: c#

每当我尝试将自定义文件打开到文本框或显示代码的东西时。它永远不会奏效,我不确定我做错了什么。 我希望我的程序在打开文件时显示文件内部的内容,我有以下内容:

private void button1_Click(object sender, EventArgs e)
    {
        //Show Dialogue and get result
        Stream myStream = null;
        OpenFileDialog openFileDialog1 = new OpenFileDialog();

        openFileDialog1.InitialDirectory = "c:\\";
        openFileDialog1.Filter = "rbt files (*.rbt)|*.rbt|All files (*.*)|*.*";
        openFileDialog1.FilterIndex = 2;
        openFileDialog1.RestoreDirectory = true;

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            try
            {
                if ((myStream = openFileDialog1.OpenFile()) != null)
                {
                    using (myStream)
                    {
                        File.WriteAllText("", CodeBox.Text);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("RBT7 file open");
            }
        }
    }

它只在消息框中显示RBT7,这不是我想要的,我希望打开文件并将其信息显示在某种显示代码的文本框中。

2 个答案:

答案 0 :(得分:2)

请阅读documentation for File.WriteAllText

第一个参数:

路径:要写入的文件。

你传递的是""。那不是一条路。您是否尝试将文件中的所有文字写入CodeBox.Text或将CodeBox.Text中的所有文字写入文件?

在评论中,您指出前者。试试这个:

string[] lines = System.IO.File.ReadAllLines(@"your file path");
foreach (string line in lines)
{
    CodeBox.Text += line;
}

您尚未显示CodeBox的代码,因此我无法保证此结果。

答案 1 :(得分:0)

试试这个:

替换此代码

            if ((myStream = openFileDialog1.OpenFile()) != null)
            {
                using (myStream)
                {
                    File.WriteAllText("", CodeBox.Text);
                }
            }

用这个

{
    CodeBox.Text = File.ReadAllText(openFileDialog1.FileName);
}