2017-02-22 5 views
2

大きな文字列(それぞれ20K行×100文字)があります。巨大な文字列をWinFormリッチテキストボックスに入れます

この文字列をRichTextBox(またはそれに似たもの)のWindowsフォームアプリケーションに配置する必要があります。現在、この処理には40秒かかります(文字列自体に40秒かかります)。ここで

は、コードスニペット

StringBuilder sb = Very_big_String_Builder_Object; 
string appendMe = sb.ToString(); 
uniqueOutput.SelectionStart = uniqueOutput.TextLength; 
uniqueOutput.SelectedText = appendMe; 

である私も、最悪の少しだった

StringBuilder sb = Very_big_String_Builder_Object; 
string appendMe = sb.ToString(); 
uniqueOutput.Text = appendMe; 

を試してみました。

.NET(4.5まで)に役立つものはありますか?

+1

をなぜあなたは一度にすべてのことに多くの情報を表示する必要がありますか?誰もそれを現実的に読むことはできませんでした。 – Equalsk

+0

各ページに20000行の本を読んでみませんか?もちろん違います。なぜあなたはそれをあなたのユーザーから期待していますか?関連する部分だけをページングまたはフィルタリングして表示します。 –

+0

も、それは奇妙に見えますが、ユーザーは通常、プロセスを変更している別のいくつかのプログラムとファイルに取り込みます。ファイルに出力することはできますが、ファイルに保存したり、ファイルを見つけたり、ファイルを開いたり、コピー&ペーストしたりするのに時間がかかります。また、単一の出力RichTextBox – TOMP

答えて

1

真の複数行でテキストボックスを使用してみてください:

txtMulti.text = Very_big_String_Builder_Object.ToString; 
+1

最も有効な解決策は、2秒以下に時間を短縮しましたが、Ctrl + Aを処理するリスナーを作成する必要がありました。 – TOMP

+0

ホットキーは、 Ctrl-Aをキャプチャしている可能性があります。 「標準品を含む」メニューは、しばしばコントロールキーを吸います。 – rheitzman

1

WordWrapとDetectUrlsを無効にすると、数秒で保存されます。

+0

これは40秒30秒〜35秒に、すばらしいお勧め – TOMP

関連する問題