DOBON.NET DOBON.NETプログラミング掲示板過去ログ

TextBoxの任意の行の書き換え

環境/言語:[WinXP、VB2008、.NET Framework3.5]
分類:[.NET]

質問させていただきます。

VB2008において、TextBoxコントロール(multilineプロパティ=True)の、
任意の行の内容を書き換えたり、あるいは任意の行を削除するためには
どうすればよいでしょうか?
MSDSのTextBox.Linesプロパティの記述を見て、

TextBox1.Lines = New String() {"abcd",・・・}

のようにすれば書き換えられるらしいことは分かりました。
しかしこれではTextBox中の文字列全てを一旦取得してその一部だけを書き換え、
再度代入することになるため、TextBox中の文字列が膨大な量になる場合は
処理が遅くなるのでは?と考えています。
もっと効率的に処理する方法があれば教えて頂きたく。
宜しく御願いします。
■No30895に返信(あかつきさんの記事)
> TextBox中の文字列が膨大な量になる場合は
> 処理が遅くなるのでは?と考えています。

Lines や Text では文字列全体を差し替えることになりますが、
SelectedText プロパティを使えば、部分編集も可能となります。

 1) Select メソッド(または、SelectionStart と SelectionLength)を
  利用して、変更させたい行の文字列を選択状態にする。

 2) 「TextBox1.SelectedText = 新しい行の内容」で、
  選択された行を置き換える。
教えていただいた方法で解決しました。
有難うございました。

DOBON.NET | プログラミング道 | プログラミング掲示板