0

非常に長い文字列がありますが、それを RichTextBox に割り当てようとすると、次のように長い時間がかかります。

string s = "very long string";
RichTextBox obj = new RichTextBox ();
obj.Text = s;

文字列をより高速に配置する別の方法はありますか?

4

2 に答える 2

0

確かにあなたが探しているものではありませんが、その場で推測します. 長いテキスト (文字列) がリッチテキスト ボックスに割り当てられている間にフォームがハングして何も操作できないことが心配な場合は、代わりにスレッドでテキストを割り当ててみて、メイン フォームで作業を続けることができます。以下にサンプルコードを示します。

private void SetTextButton_Click(object sender, EventArgs e)
{
    string longText = "Very Long Text";
    Thread t = new Thread(() => AssignLongText(longText));
    t.Start();
}

private void AssignLongText(longText)
{
    Invoke(new Action(() => richTextBox1.AppendText(text)));
}

私のビールが家で終わったら、きっとこの投稿をもう一度見ようとするでしょう:)

それが役に立てば幸い。

于 2013-01-07T11:12:59.560 に答える
0

最初に、遅延の原因を突き止めようとします。それは、画面への書き込みに関するものか、追加されたテキストの作成に関するものかです。後者についてなので、その間にstringbuilderを試して文字列を作成してください

于 2013-01-07T07:27:04.973 に答える