RichTextBoxから15.000(もっと多くの可能性があります)行が届きました。各行に値を追加する必要があります。 これを行う最善の方法は、プログラムがロックアップしないようにすることですか?Cで大きなテキストを処理しています
Thread th1 = new Thread(Process);
th1.Start();
をそれはまだ固まっ:次に
public void Process()
{
string[] lines;
string line;
string foo = " baa";
if (richTextBox1.InvokeRequired)
{
lines = (string[])Invoke((ReadLines)delegate
{
return /* read .Lines[] from richTextBox1 */
});
int max = lines.Length;
for (int i = 0; i < max; i++)
{
line = lines[i];
if (..)
{
lines[i] += "foo";
}
}
Invoke((Update)delegate
{
/* set new lines to RichTextBox1 */
});
}
}
とを:
現在、私はスレッドとして実行されているループ内の行を処理しています。これを行う最善の方法は何ですか? ありがとうございます。
これは残念なことに、獣の性質です。リッチテキストボックスコントロールは、その数行を保持するためのものではなく、割り当てによってUIがロックされます。私は "回避策"の代わりに "再設計"と考えるだろう – BrokenGlass
うん。追加することを前提としていますが、最後にテキストボスは作成されていません。商用/校正エディタコンポーネントを入手してください。 – TomTom