卒業さくひんで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)
なるほど。
ありがとうございます、できました!
ツイート | ![]() |