次のようなリッチ テキスト ボックスに 16 進データを表示しています。
64 73 67 66 34 33 74 67 35 34 36 79 37 35 79 36
33 67 35 36 67 35 36 33 79 68 34 36 37 38 72 74
3文字ごとに異なる色で表示したい。つまり、各ビット (具体的には 2 つの数字とスペース) が異なる色になります。
私がやろうとしたことは、処理時間を半分にするために、デザイナー モードでテキストの色を青に設定するだけです。次に、2 番目の 3 文字ごとに赤に変更します。
ただし、これが起こっていることです:
コードは次のとおりです。
for (int i = 0; i < richTextBox1.TextLength; i++)
if (i % 4 == 1)
{
richTextBox1.SelectionStart = i;
richTextBox1.SelectionLength = 2;
richTextBox1.SelectionColor = Color.Red;
}
どうやら私の計算が間違っているようです。うまくいく方法が思い浮かびません。私は i % 3 = 0、selectionLength = 3 などを試しました。
PSこれが遅い場合は、他の方法を提案できますか? 見たい場合は、ここに完全なコードがあります: http://pastebin.com/vHMfnZW1