Обработка BB-кодов
- private void parseBBcodes()
- {
- string[] tag = new string[] { "b", "i", "u", "s", "c" };
- for (int i = 0; i < tag.Length; i++)
- {
- int temp = 0;
- while ((temp = messageBox.Text.IndexOf("["+tag[i]+"]", temp)) > 0)
- {
- messageBox.Select(temp, messageBox.Text.IndexOf("[/" + tag[i] + "]", temp) - temp + 4);
- //обработка тега
- if (i == 0) messageBox.SelectionFont = new Font(messageBox.SelectionFont, FontStyle.Bold);
- else if (i == 1) messageBox.SelectionFont = new Font(messageBox.SelectionFont, FontStyle.Italic);
- else if (i == 2) messageBox.SelectionFont = new Font(messageBox.SelectionFont, FontStyle.Underline);
- else if (i == 3) messageBox.SelectionFont = new Font(messageBox.SelectionFont, FontStyle.Strikeout);
- else messageBox.SelectionColor = Color.Gray;
- //удаляем тег
- messageBox.SelectedText = messageBox.SelectedText.Substring(3, messageBox.SelectedText.Length - 7);
- if (i == 4) messageBox.SelectedText += "\r\n"; //добавляем перевод строки после цитаты
- }
- }
- }
При вызове метода в RichTextBox messageBox должен быть текст.