1

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

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,这不是我想要的,我希望文件打开并将其信息显示到某种显示代码的文本框。

4

2 回答 2

2

请阅读File.WriteAllText 的文档

第一个参数:

path:要写入的文件。

你正在通过它""。那不是一条路。您是要尝试将文件中的所有文本写入文件CodeBox.Text还是将所有文本写入CodeBox.Text文件?

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

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

你还没有显示代码,CodeBox所以我不能保证这个结果。

于 2013-10-03T20:17:01.413 回答
0

尝试这个:

替换此代码

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

有了这个

{
    CodeBox.Text = File.ReadAllText(openFileDialog1.FileName);
}
于 2013-10-03T20:20:33.190 回答