tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
RichTextBox内の空白行の削除と挿入方法(VB.NET) ( No.1 )  [親スレッドへ]
日時: 2013/01/30 23:08
名前: VBレスキュー(花ちゃん)

***********************************************************************************
* カテゴリー:[リッチテキストボックス][][]                                        *
* キーワード:リッチテキストボックス,空行,空白の行,連結,空行を削除,空行を挿入     *
***********************************************************************************
'==================================================================================
'投 稿 日:2013/01/28
'投 稿 者:VBレスキュー(花ちゃん)
'タイトル:RichTextBox内の空白行の削除と挿入方法
'動作確認:WindowsVista/7 VB2010(VS2010 Pro) Framework 4 / ターゲットCPU:X86 IE 8.9
'[Option Compare Text][Option Explicit On][Option Infer On][Option Strict On]で設定
'==================================================================================
テキストボックスの場合は、下記の URL に記載の方法で、できるのですが、RichTextBox
(リッチテキストボックス)の場合は、改行コードが、vbLf なのでそのままのコードでは
できません。
http://hanatyan.sakura.ne.jp/patio/read.cgi?no=233

下記のように変更して下さい。
Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
   Dim wk As String
   wk = "1. あいうえお" & vbCrLf & vbCrLf
   wk &= "2. かきくけこ" & vbCrLf
   wk &= "3. さしすせそ" & vbCrLf & vbCrLf & vbCrLf & vbCrLf
   wk &= "4. たちつてと" & vbCrLf & vbCrLf
   wk &= "5. なにぬねの" & vbCrLf
   wk &= "6. はひふへほ" & vbCrLf & vbCrLf
   wk &= "7. まみむめも" & vbCrLf & vbCrLf
   RichTextBox1.Text = wk
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
   RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & "){1,}", vbLf)
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button3.Click
   RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & ")+", vbLf)
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button4.Click
'空行を1行追加する場合
   RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & ")+", vbLf)
   RichTextBox1.Text = RichTextBox1.Text.Replace(vbLf, vbLf & vbLf)
End Sub

'クリックの都度空行を1行づつ増やしたい場合は、現在空行がどのようになっているか調べて
'それに対して、1行追加する必要があるので下記のようにしないと。
'もっと簡単な方法があるかも知れませんが、今はこれしか思いつきません。

Private LfCount As Integer = 0
Private Sub Button5_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button5.Click
   Dim lfKey As String = vbLf
   For i = 0 To LfCount
      lfKey &= vbLf
   Next
   '一旦空行を削除する
   RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & ")+", vbLf)
  '指定行数分空行を追加する
   RichTextBox1.Text = RichTextBox1.Text.Replace(vbLf, lfKey)
   LfCount += 1
End Sub

上記実行結果 http://hanatyan.sakura.ne.jp/patio/upl/1256650298-3.gif



尚、リッチテキストボックスで段落(行間間隔を設定)を設定するのちょっと厄介です。
  http://www.hanatyan.sakura.ne.jp/samplepic/vb6_410.htm
  http://www.hanatyan.sakura.ne.jp/samplepic/vb8_145.htm





 [スレッド一覧へ] [親スレッドへ]