掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
代入に異様に時間がかかるテキストボックスのはなぜ? (ID:125014)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ループ中で何度も Textプロパティを設定していたら、 それは時間が掛かるでしょうね……。(^_^;) Text プロパティを書き換えるという事は、前の文字列データを すべて破棄して、別の文字列を代入するような状況です。 そのたびにメモリの破棄と再確保が発生するわけですから、 文字列が長くなるほど、処理時間が長くなります。 StringBuilderを使って連結するのであれば、ループ中で、 Textプロパティを毎回セットしなおすのではなく、 すべてのループが完了後に、最後に一回だけ TextBox1.Text = MyStringBuilder.ToString() を呼び出すようにしてください。これなら、さほど時間はかかりません。 もし、最後に一度だけ代入するのではなく、データが追加される状況を 常に表示させておきたいのであれば、ループ中では、 TextBox1.Text = 全文 ではなく、 TextBox1.AppendText(追記データ) の構文を使うようにすると良いでしょう。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.