0

私はc#が初めてで、おそらく非常に簡単な解決策がある質問があります。テキスト ボックスに表示するために .txt ファイルをインポートし、元のファイルの形式 (すべて正しいスペース) を維持したいと考えています。これは可能ですか?ユーザーがボタンをクリックしてファイルを表示したときに、次のコードを使用して .txt ファイルを開きます。繰り返しますが、私はプログラミングに非常に慣れていないので、助けていただければ幸いです。

OpenFileDialog ofd = new OpenFileDialog();

ofd.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";

if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    StreamReader sr = File.OpenText(ofd.FileName);
    string s = sr.ReadLine();
    StringBuilder sb = new StringBuilder();
    while (s != null)
    {
        sb.Append(s);
        s = sr.ReadLine();
    }
    sr.Close();
    textBox1.Text = sb.ToString();
}
4

2 に答える 2

2

私はあなたが使うべきだと信じています

sb.AppendLine(); 

それ以外のsb.Append();

ReadToEnd()現在、 David Heffernan が提案しているように、も使用できます (使用する必要があります) 。

using(StreamReader sr = File.OpenText(ofd.FileName)) {
   textBox1.Text = sr.ReadToEnd();
}
于 2013-02-04T13:20:39.463 に答える
1

あなたはこれを考えすぎていると思います。ループは必要ありません。フレームワークには、まさに必要なことを行う便利なメソッドが既に用意されています。

次のようなコードを書きます。

using (StreamReader sr = new StreamReader(ofd.FileName))
{
    textBox1.Text = sr.ReadToEnd();
}

間隔を維持することについてのあなたの質問は、ループが改行を維持しないという事実によって動機付けられたと思います。これが、組み込みフレームワークを使用するもう 1 つの理由です。緊張を取り、詳細を正しく理解しましょう。

于 2013-02-04T13:22:48.453 に答える