卒業さくひんでVB.NETを扱っています
そしてHTMLエディタを作成しているのですが
どうしてもHTMLのタグの中身のカラーは変えれても
<>だけはカラー変更できません。
どうしてでしょうか?
'タグの色だけを変える
        Dim s As String
        Dim n As Long
        Dim t As Long
        s = RichTextBox1.Text
        For n = 1 To Len(s)
            If Mid(s + n, 1) = "<" Then   '<を見つける
                RichTextBox1.SelectionStart = n    'タグの始め
                t = n
            ElseIf Mid(s, n, 1) = ">" Then  'タグの終わり
                RichTextBox1.SelectionLength = n - t + 1 'セレクトの長さを決める。
                RichTextBox1.SelectionColor = Color.Green 'タグを緑にする
            End If
        Next n
>卒業さくひんでVB.NETを扱っています
学校ではプログラムのことを作品と言うんですか、会社で使ったらぶっ飛ばされそうですね。
閑話休題
単にこれではいけないの。
RichTextBox1.SelectionStart = n - 1  'タグの始め
それと
Option Strict On
にしておこうね。
n とtは Integer で十分。
Dim n As Integer
Dim t As Integer
色々有るけど、HTMLの色づけは『<>』の中だけの方が見やすいかも。
長い文章の場合InStrを使った方が速くなります。
Dim StartPos, EndPos As Integer
EndPos = 1
Do
  StartPos = InStr(EndPos, s, "<")
        If StartPos <> 0 Then
           EndPos = InStr(StartPos, s, ">")
                If EndPos <> 0 Then
                    RichTextBox1.SelectionStart = StartPos - 1
                    RichTextBox1.SelectionLength = EndPos - StartPos + 1 'セレクトの長さを決める。
                    RichTextBox1.SelectionColor = Color.Blue  'タグを青にする
                End If
        End If
Loop While (StartPos <> 0)
なるほど。
ありがとうございます、できました!
| ツイート |   |