1

改行で区切られた複数の段落を含むテキスト ファイルを読みたいです。すべての段落を単独で読む方法RichTextBoxと、次のボタンで次の段落に移動し、前のフォームで設計されたボタンで最初の段落に戻る方法。私のコード

private void LoadFile_Click(object sender, EventArgs e)
{
    OpenFileDialog dialog = new OpenFileDialog();
    dialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    dialog.Title = "Select a text file";
    dialog.ShowDialog();

    if (dialog.FileName != "")
    {
        System.IO.StreamReader reader = new System.IO.StreamReader(dialog.FileName);
        string Text = reader.ReadToEnd();
        reader.Close();
        this.Input.TextChanged -= new System.EventHandler(this.Input_TextChanged);
        Input.Clear();
        Input.Text = Text;
    } 
} 
4

2 に答える 2

3

このコードを使用します。

var text = File.ReadAllText(inputFilePath);
var paragraphs = text .Split('\n');

段落は、すべての段落を含む文字列の配列になります。

于 2013-03-27T11:56:47.563 に答える
0

String.split()で分割するために使用し'\n'ます。その後、 Button nextの配列を反復処理します。

private string[] paragraphs;
private int index = 0;
private void LoadFile_Click(object sender, EventArgs e)
{
   OpenFileDialog dialog = new OpenFileDialog();
   dialog.Filter =
      "txt files (*.txt)|*.txt|All files (*.*)|*.*";
   dialog.Title = "Select a text file";

   dialog.ShowDialog();

   if (dialog.FileName != "")
   {
       System.IO.StreamReader reader = new System.IO.StreamReader(dialog.FileName);
       string Text = reader.ReadToEnd();
       reader.Close();
       this.Input.TextChanged -= new System.EventHandler(this.Input_TextChanged);
       Input.Clear();
       paragraphs = Text.Split('\n');
       index = 0;
       Input.Text = paragraphs[index];
   } 
} 

private void Next_Click(object sender, EventArgs e)
{
   index++;
   Input.Text = paragraphs[index];
}

(これが最もエレガントな解決策ではないことはわかっていますが、何をすべきかについてのアイデアを与えるはずです。)

于 2013-03-27T11:54:29.580 に答える