咱们知道,Web开发上有不少HTML的编辑控件,如FCKEditor、CKEditor、kindeditor等等,不少都作的很好,而虽然Winform里面有WebBrowser控件,可是默认这个控件是不容许编辑内容的,能够显示网页而已。Winform开发里面,有些使用RichTextBox控件来编辑HTML,也有一些结合WebBrowser控件来实现内容的编辑,其中我以为作的最好的应该是Zeta HTML Edit Control(http://www.codeproject.com/Articles/43954/ZetaHtmlEditControl),这个控件是在CodeProject上开源公布的,同时也在GitHub上有一个项目的维护(https://github.com/UweKeim/ZetaHtmlEditControl)。本文主要介绍这个控件的使用,以及对其进行一些资源的中文汉化工做,使得咱们在实际使用中更方便,并附上修改过的控件源码,但愿你们有所收益。html
控件默认不少工具栏和菜单,都是英文的,它的默认效果以下所示。git
对其全部英文的菜单、工具栏、对话框、提示内容等资源进行中文化后,并在工具栏中增长插入图片、打印功能后,界面以下所示。github
控件的一些功能是能够经过配置屏蔽或者显示的,默认它的初始化代码以下所示。dom
htmlEditUserControl1.Configure(new HtmlEditControlConfiguration{AllowFontChange = true, AllowEmbeddedImages=true, AllowPrint = true}); htmlEditUserControl1.IsToolbarVisible = true;
AllowFontChange 若是设置为True,能够在工具栏出现字体大小的设置内容。工具
AllowEmbeddedImages,能够把从剪切板里面的图片转换为Base64的字符串的字符串内容,放到HTML控件里面。测试
AllowPrint是能够打印的功能。字体
控件能够经过几种方式进行HTML的赋值的,以下所示。spa
const string s = @"<P><b>Some tests</b></P><p>Random content. <font color=green>Please edit</font>.</p><p>Use right-click for options.</p>"; htmlEditControl1.DocumentText = s;
或者设计
const string s = @"<P>Click the buttons below to set different texts. German Umlaute: ???????</p>"; htmlEditControl1.SetDocumentText(s, @"C:\", true);
控件的工具栏能够根据须要隐藏或者显示code
htmlEditUserControl1.IsToolbarVisible = ToolbarVisibleCheckBox.Checked;
这个控件在使用过程当中,发现有一些小问题。
1)必须对控件的DocumentText赋值,才能获取HTML的内容,不然在控件中输入内容后,经过代码获取到的DocumentText是空的。
htmlEditUserControl1.HtmlEditControl.DocumentText = "伍华聪的测试内容";
2)控件的HtmlEditControl对象在设计的时刻不出如今只能提示里面,可是使用没问题,很奇怪。
对控件全面进行了中文化修改,方便咱们平常的使用。
控件下载地址以下:http://files.cnblogs.com/wuhuacong/ZetaHtmlEditControl.rar