HTMLタグのcollarを変更するには

解決


MindClassic  URL  2005-01-12 08:09:16  No: 118777

卒業さくひんで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


ねろ  2005-01-12 17:07:08  No: 118778

>卒業さくひんで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)


MindClassic  2005-01-12 20:50:00  No: 118779

なるほど。
ありがとうございます、できました!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加