6

次のコードを使用して、.txt ファイルを複数行のテキスト ボックスに読み込もうとしています。ファイルダイアログボタンが完全に機能するようになりましたが、実際のテキストをファイルからテキストボックスに取得する方法がわかりません。これが私のコードです。手伝ってくれますか?

private void button_LoadSource_Click(object sender, EventArgs e)
    {
        Stream myStream = null;
        OpenFileDialog openFileDialog1 = new OpenFileDialog();

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

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            try
            {
                if ((myStream = openFileDialog1.OpenFile()) != null)
                {
                    using (myStream)
                    {
                        // Insert code to read the stream here.
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
            }
        }
    }
4

1 に答える 1

27

完全なテキストだけが必要な場合は、関数を使用する必要があります。File.ReadAllTextダイアログで選択したファイル名/パスを渡します ( openFileDialog1.FileName)。

たとえば、コンテンツをテキストボックスにロードするには、次のように記述できます。

 textbox1.Text = File.ReadAllText(openFileDialog1.FileName);

ストリームを開いて使用するのはもう少し複雑です。そのため、using - ステートメントを調べる必要があります。

于 2012-12-16T10:39:09.720 に答える