Oggi mi sono trovato davanti alla necessità di utilizzare le funzionalità avanzate di formattazione del testo offerte da SharePoint all'interno di una mia web part custom.
Come per i campi di tipo Multiline, è possibile utilizzare un controllo specifico per rendere possibile la formattazione del testo tramite un'interfaccia simile alla barra degli strumenti di Word, o comunque, come un qualsiasi editor WYSIWYG.
Il controllo da utilizzare per ottenere questo risultato è presente all'interno del namespace Microsoft.SharePoint.WebControls ed è stato chiamato InputFormTextBox.
Vediamo un esempio d'utilizzo, all'interno di una web part custom:

namespace RichTextBoxWebPart

{
[Guid("7bf84d97-998b-4dba-9b94-7fcab9402e7a")]
public class RichTextBoxWebPart : System.Web.UI.WebControls.WebParts.WebPart
{
private InputFormTextBox txt = null;
private Button btn = null;
private Label lbl = null;

public RichTextBoxWebPart() { }

protected override void CreateChildControls()
{
base.CreateChildControls();

txt = new InputFormTextBox();
txt.ID = "txt";
txt.TextMode = TextBoxMode.MultiLine;
txt.Rows = 6;
txt.RichText = true;
txt.RichTextMode = SPRichTextMode.FullHtml;
this.Controls.Add(txt);

btn = new Button();
btn.ID = "btn";
btn.Text = "Click";
btn.Click += new EventHandler(btn_Click);
this.Controls.Add(btn);

lbl = new Label();
lbl.ID = "lbl";
this.Controls.Add(lbl);
}

protected override void Render(HtmlTextWriter writer)
{
txt.RenderControl(writer);
writer.Write("<br />");
btn.RenderControl(writer);
writer.Write("<hr />");
lbl.RenderControl(writer);
}

void btn_Click(object sender, EventArgs e)
{
lbl.Text = txt.Text;
}
}
}

Il risultato lo potete vedere in figura.

RichTextBox Web Part
Ho preparato anche una soluzione scaricabile ed utilizzabile della web part d'esempio.
Buon download !