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 に答える