I rarely recommend this, because the controls are kind of clunky, but you could use the ASP.NET AJAX Control Toolkit for this. Just follow the instructions on the website to install the toolkit, and include the DLL in your project.
The toolkit has an extender that you can apply to a normal <asp:TextBox> called HTMLEditorExtender. See the samples on the linked page for the functionality. Basically, all you have to do is point the HTMLEditorExtender markup at an existing TextBox control.
Here's a simplified version from the sample on that page:
<ajaxToolkit:HtmlEditorExtender ID="HtmlEditorExtender1"
TargetControlID="yourTextBoxID" DisplaySourceTab="true"
runat="server"/>
<Toolbar>
<ajaxToolkit:Bold />
<ajaxToolkit:Italic />
<ajaxToolkit:Underline />
<ajaxToolkit:StrikeThrough />
<ajaxToolkit:RemoveFormat />
<ajaxToolkit:BackgroundColorSelector />
<ajaxToolkit:ForeColorSelector />
<ajaxToolkit:FontNameSelector />
<ajaxToolkit:FontSizeSelector />
</Toolbar>
</ajaxToolkit:HtmlEditorExtender>
Note that you need to set "yourTextBoxID" in TargetControlID="yourTextBoxID" to the ID of the TextBox control you want the extender to apply to.
<em>, not<i>=)