0

richTextBoxまたはtextBoxに書き込めません。何かを書き始めると、プログラムがフリーズします。それが何であるかについて何か考えはありますか?textBoxのコードやプロパティは何も変更していません。

using System.Text;
using System.Windows.Forms;
using System.IO;

public partial class Form1 : Form
{
  public Form1()
  {
    InitializeComponent();
  }

  private void saveToolStripMenuItem_Click(object sender, EventArgs e)
  {
    File.WriteAllText("TextFile1.txt", richTextBox1.Text);
  }

  private void richTextBox1_TextChanged(object sender, EventArgs e)
  {
    richTextBox1.LoadFile ("TextFile1.txt");
  }
}
4

2 に答える 2

1

書き込み中のテキスト ボックスにファイルを読み込んでいるようです。

したがって、このコードを削除します。

 private void richTextBox1_TextChanged(object sender, EventArgs e)
 {
    richTextBox1.LoadFile ("TextFile1.txt");
 }

フォームの OnLoad メソッドに移動してみてください (フォームが開いたときにテキスト ボックスにデータが入力されると仮定します)。

protected override void OnLoad(EventArgs e) {
  base.OnLoad(e);

  richTextBox1.LoadFile ("TextFile1.txt");
}

RichTextBox には SaveFile メソッドもあります。「リッチ」テキストがアプリケーションにとって重要かどうかは、コードからは明らかではありません。

于 2012-11-24T13:45:32.710 に答える
1
bool _isLoading = false;

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
    if(_isLoading) return;
    _isLoading = true;
    richTextBox1.LoadFile ("TextFile1.txt");
    _isLoading = false;
}
于 2012-11-24T13:47:25.980 に答える