Ещё одна вариация на тему, с поддержкой
C#, VB, HTML, XML, T-SQL, MSH (Monad)
http://www.manoli.net/csharpformat/
Для переделки под форумные посты(BB-Cod), в частности для движка vBulletin, на котором работает конференция, необходимо изменить в файле CodeFormat.cs
Код:

sb.Append("<span class=\"rem\">");
sb.Append("[color=#008000]");
sb.Append("</span>");
sb.Append("[/color]");
return "<span class=\"str\">" + match.ToString() + "</span>";
return "[color=#a31515]" + match.ToString() + "[/color]";
return "<span class=\"preproc\">" + match.ToString() + "</span>";
return "[font color=#cc6633]" + match.ToString() + "[/color]";
return "<span class=\"kwrd\">" + match.ToString() + "</span>";
return "[color=#0000ff]" + match.ToString() + "[/color]";
и SourceFormat.cs.
sb.Append("<pre class=\"csharpcode\">\n");
->sb.Append("[code]");
sb.Append("</pre>");
->sb.Append("[/code]");
-> указывает на что заменить (так как в не code табуляция не видна, а вложенное в [code] - [noparse] не даёт сработать первому), сам "->" копировать не надо.
Создать новый WinForm проект, добавить или файлы исходника (с заменёнными строками), или отдельно собранную библиотеку по изменённому коду. Создать файл Form1.cs с таким кодом
Код:

using System;
using System.Drawing;
using System.Windows.Forms;
class Form1 : Form
{
RichTextBox RichTextBox1 = new RichTextBox();
Button Button1 = new Button();
public static new void Main()
{
Application.Run(new Form1());
}
public Form1()
{
Text = "CSharp|VBLikeFormat";
MaximizeBox = false;
FormBorderStyle = FormBorderStyle.FixedDialog;
{
RichTextBox1.Parent = this;
RichTextBox1.Location = Point.Empty;
RichTextBox1.Size = ClientSize - new Size(0, 25);
}
{
Button1.Parent = this;
Button1.Location = new Point(RichTextBox1.Size - new Size(ClientSize.Width, 0));
Button1.Size = new Size(ClientSize.Width, 25);
Button1.Text = "Apply";
}
Button1.Click += Button1_Click;
}
public void Button1_Click(object sender, System.EventArgs e)
{
//Manoli.Utils.CSharpFormat.VisualBasicFormat VisualBasicFormat = new Manoli.Utils.CSharpFormat.VisualBasicFormat();
//RichTextBox1.Text = VisualBasicFormat.FormatCode(RichTextBox1.Text);
Manoli.Utils.CSharpFormat.CSharpFormat CSharpFormat = new Manoli.Utils.CSharpFormat.CSharpFormat();
RichTextBox1.Text = CSharpFormat.FormatCode(RichTextBox1.Text);
}
}
В файле Form1.cs приведён пример для VB.NET(закомментирован) и C#.