从网上找来一个扩展的RichTextEdit组件,支持插入图片,格式文本,设置文本底色等操作,只要调用方法即可。
命名空间:Khendys.Controls.ExRichTextEdit
格式化文本及插入图片Demo:
使用方法:
private void menuItem10_Click(object sender, System.EventArgs e)
{
string[] _about = new string[10];
Font[] _fonts = new Font[3];
rtBox_Main.Rtf = "";
_fonts[0] = new Font(FontFamily.GenericSerif, 16f);
_fonts[1] = new Font(FontFamily.GenericSansSerif, 12f);
_fonts[2] = new Font(FontFamily.GenericMonospace, 8f);
_about[0] = "This text and images are ";
_about[1] = "being inserted on the\n";
_about[2] = "Click ";
_about[3] = "event of this menu item.\n\n";
_about[4] = "Sorry I cleared the document, ";
_about[5] = " but just click ";
_about[6] = "undo ";
_about[7] = "and you'll be ok. ";
_about[8] = "\n\nHa Ha! No undo.\n\n";
_about[9] = "Khendys was here ...";
rtBox_Main.InsertTextAsRtf(_about[0], _fonts[0]);
rtBox_Main.InsertTextAsRtf(_about[1], new Font(_fonts[1], FontStyle.Strikeout));
rtBox_Main.InsertTextAsRtf(_about[2], new Font(_fonts[0], FontStyle.Bold | FontStyle.Italic), RtfColor.Olive, RtfColor.Aqua);
rtBox_Main.InsertTextAsRtf(_about[3], new Font(_fonts[1], FontStyle.Italic), RtfColor.Gray);
rtBox_Main.InsertTextAsRtf(_about[4], new Font(_fonts[2], FontStyle.Bold), RtfColor.Red, RtfColor.Yellow);
rtBox_Main.InsertImage(new Bitmap(typeof(RtfInsert), "Smilies.AngrySmile.png"));
rtBox_Main.InsertTextAsRtf(_about[5], _fonts[0]);
rtBox_Main.InsertTextAsRtf(_about[6], _fonts[0], RtfColor.Blue, RtfColor.Aqua);
rtBox_Main.InsertTextAsRtf(_about[7], _fonts[1]);
rtBox_Main.InsertImage(new Bitmap(typeof(RtfInsert), "Smilies.CrySmile.png"));
rtBox_Main.InsertTextAsRtf(_about[8], new Font(_fonts[2], FontStyle.Bold | FontStyle.Italic), RtfColor.Red, RtfColor.Aqua);
rtBox_Main.InsertTextAsRtf(_about[9], new Font(_fonts[1], FontStyle.Italic | FontStyle.Bold | FontStyle.Underline), RtfColor.Black, RtfColor.Red);
rtBox_Main.InsertImage(new Bitmap(typeof(RtfInsert), "Smilies.Beer.png"));
}