private void Colorize() { int color = 1; int factor = FactorMax; for (int i = 1; i < HammingRichTextBox.TextLength; i <<= 1) { int index = i - 1; HammingRichTextBox.Select(index, 1); HammingRichTextBox.SelectionColor = Color.FromArgb( (color & ColorRed) * factor, ((color & ColorGreen) >> 1) * factor, ((color & ColorBlue) >> 2) * factor ); if (++color == ColorMax) { color = 1; if ((factor >>= 1) == 0) { break; } } } }
private void AddControlBitsButton_Click(object sender, EventArgs e) { if (RawTextBox.TextLength > 0) { var hb = new HammingBuffer( from v in RawTextBox.Text where true select v == '1' ? true : false ); HammingRichTextBox.Clear(); HammingRichTextBox.Text = hb.ToString(); Colorize(); } else { MessageBox.Show( "В поле ввода нет ни одного символа. Введите что-либо.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation ); } }