C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

リッチテキストボックスで最初と最後の改行を削除したい

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■90191 / inTopicNo.1)  リッチテキストボックスで最初と最後の改行を削除したい
  
□投稿者/ ゴン助 (1回)-(2019/02/15(Fri) 18:22:51)

分類:[.NET 全般] 

リッチテキストボックスで最初と最後の改行を削除したいのですが、



        RichTextBox2.Text = RichTextBox2.Text.Trim

とすると、改行は削除されるのですが、
1文字目に設定してあるフォントが全文字列に適用されてしまいます。
フォントを変更せずに、改行だけを削除するにはどうしたら良いですか?


        Dim RTB As RichTextBox = RichTextBox2

        For i As Integer = RTB.Text.Length To 1 Step -1

            If Mid(RTB.Text, i, 1) = vbLf OrElse Mid(RTB.Text, i, 1) = vbCr Then

                Mid(RTB.Text, i, 1) = ""

            Else

                Exit For

            End If

        Next

とすると、なぜか、改行は削除されない上に、
フォントだけが変化してしまいます。



引用返信 編集キー/
■90192 / inTopicNo.2)  Re[1]: リッチテキストボックスで最初と最後の改行を削除したい
□投稿者/ Hongliang (752回)-(2019/02/15(Fri) 19:01:02)
Textプロパティに代入したら、それまでの編集したものは全てクリアされて改めて代入した文字列で描画するので、書式情報なども全て消えます。
一部の文字だけ扱うのに一番簡単なのは、SelectionStart/SelectionLengthプロパティまたはSelect(Integer, Integer)メソッドで選択し、SelectedTextで取得設定することです。空文字列を設定すれば削除することもできます。
描画がちらつく場合がある、キャレットおよびスクロール位置が移動する、という欠点はありますが。
引用返信 編集キー/
■90198 / inTopicNo.3)  Re[2]: リッチテキストボックスで最初と最後の改行を削除したい
□投稿者/ ゴン助 (3回)-(2019/02/16(Sat) 13:51:19)
こうやってやるんですね
どうもありがとうございました。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ