返回首页


简介
这RTF编辑器风格的控制来自"正文编辑器"的参考"新邮件"对话框中的Outlook Express。我们知道,虽然已经在。NET提供一个RichTextBox控件微软的框架,以对用户显示的丰富的文本,它仍然缺乏一些真正的丰富的编辑工作,这是非常可取的。因此,这种控制权是真正的编辑工作。内部HTMLTextBox
作为一个UserControl的子类,HTMLTextBox主要由两部分组成:一个工具栏和一个WebBrowser控件。如何使WebBrowser的可编辑?
web浏览器将执行以下代码后进入"编辑模式"。


webBrowserBody.Document.ExecCommand("EditMode", false, null);

如何改写你的字体
执行下面的代码,使选定的字符加粗字体。
在此控制操作执行调用该函数ExecCommand的WebBrowser.Document。有关ExecCommand的详细信息,请参考微软MSDN。
注:宣布在{A}微软,一些命令都提到没有更适用的,但是,他们仍然工作。请不要依赖它100%,只给了一枪! 关于可选字体

foreach (FontFamily family in FontFamily.Families)

{

    toolStripComboBoxName.Items.Add(family.Name);

}


这个控制项中的所有可选字体是由上面的代码检索。 关于字体大小
在HTML页面中,7种字体大小(从1到7)。和HTML字体大小和常见的字体大小之间的关系总结在下面的表:HTML字体SizeCommon字体大小18210312624736
为了避免混淆,常见的字体大小会显示用户,而不是HTML字体大小。 如何使用HTMLTextBox
作为一个UserControl,HTMLTextBox是非常方便您的使用。我不 覆盖或暴露太多的属性或方法。 到目前为止,它只是有两个公共属性":文本和图像,如果你想 更重要的是,你自由添加自己为任何目的。
:设置或获取更多的有意义的文字,它是覆盖。 得到:返回整个HTML内容包括lthtmlgt和ltbodygt等 设置:设置任何文本值,并显示在此控制,同时,"/ R / N"将被自动翻译成ltbrgt。
图片:得到所有附加图片的独特目录  0;
注:将由HTMLTextBox引用COM对象的"Microsoft HTML对象库"。关于样本
电子邮件发件人范例
在运行示例,下面的代码需要作相应的修改。
行23 - 26日在MailSender.cs

string host = "192.168.22.12";

int port = 25;

string userid = "jay.liu";

string password = "1111";

令人厌恶的BUG
插入到编辑身上的图像不能被调整,并没有异常将被抛出。现在,我不知道的原因或解决方案。历史
第一个版本(1/22/2007)。

回答

评论会员:ai_mueller 时间:2011/12/07
我怎样才能防止行距
评论会员:微米存器大号存器 时间:2011/12/07
嘿伟大的文章...

你如何保存/加载此控件的内容
评论会员:?jeasonzhao 时间:2011/12/07
。使用属性"文本"这个控制加载和保存在自己的源代码,而不是控件的HTML实现这些功能


请原谅我弱的英语
评论会员:!存器中号大号存器 时间:2011/12/07
你知道如果由用户修改的内容已经覆盖检测
评论会员:?jeasonzhao 时间:2011/12/07
几乎没有办法,你应该考虑在"文本"属性的摘要信息(MD5或其他人)使用,验证的内容是否已变更或不。
不是一个好办法,有什么其他的意见?

请原谅我弱的英语
评论会员:!garudalinks 时间:2011/12/07
干草..
我如何才能插入表
评论会员:??维克多Lezhepekov 时间:2011/12/07
2garudalinks:

使用HTML表格)
webBrowserBody.DocumentText =
"LT;表格的宽度= 350

评论会员:jeasonzhao 时间:2011/12/07
如何使用的方式插入到当前位置的HTML公共无效InsertObject(字符串objectCode)
{
IHTMLDocument2 webBrowserBody.Document.DomDocument DOC =(IHTMLDocument2)
IHTMLTxtRange TXT =(IHTMLTxtRange)doc.selection.createRange() txt.pasteHTML(objectCode);}
请原谅我弱的英语
评论会员:!Ankit___ 时间:2011/12/07
。jeasonzhao
评论会员:recole 时间:2011/12/07
喜周杰伦,
感谢此代码后,其细节和其真正有用的。但如何更换LT字体颜色=#FFFFFFgt; Fontlt; / FONTgt; LT字体颜色="#FFFFFF"GT; Fontlt; / FONTgt;
你能帮助我
感谢这么多?关于

Recole林
评论会员:。jeasonzhao 时间:2011/12/07
HTML是一个松散的语法语言,我认为两个样本是确定的,但它可能的情况下一些分析器失败时的属性值是没有报价,我建议你使用正则表达式来解决这些问题,它是简单而有效的。


请原谅我弱的英语
评论会员:!帕格里亚 时间:2011/12/07
代码工作

评论会员:urza23 时间:2011/12/07
是可以消除的McDull.Windows.Forms.dll,并使用Microsoft提供的控制?或者... ...是源McDull.Windows.Forms.dll可用?
评论会员:skunker 时间:2011/12/07
我想添加一些文字,一些按钮是点击到WebBrowser控件时
我检查,将execCommand,但我无法找到一个解决方案。
然后我试图DocumentText.Insert(),但它要求通过的立场,我在哪里可以得到在Web浏览器控件的光标位置。

任何一个可以帮助我在这个概念。

提前谢谢大家。

最好的问候,
MJ再也Chitra
评论会员:格雷格恩尼斯 时间:2011/12/07
我使用此功能在当前光标位置插入自定义的HTML statments

公共无效InsertObject(字符串objectCode)
{
IHTMLDocument2 webBrowserBody.Document.DomDocument DOC =(IHTMLDocument2)
IHTMLTxtRange TXT =(IHTMLTxtRange)doc.selection.createRange()
& #160;
txt.pasteHTML(objectCode);}



最好的问候,亚历山大巴沙
评论会员:vishal868 时间:2011/12/07
感谢很多亚历克斯
。 它真的帮了我,并降低了我的工作。
还有一件事,不要误我。
我曾尝试剪切,复制和粘贴使用命令标识符,但它不工作。
你能告诉我如何执行此。

再次感谢您的帮助很多。

最好的问候,
MJ再也Chitra
评论会员:piotrekz5 时间:2011/12/07
感谢您亚历克斯

我有编码执行削减,复制粘贴在HTML文档。


最好的问候,
M. J.再也Chitra
评论会员:yann_lh 时间:2011/12/07
您好,
我想改变,当按下CTRL S是在WebBrowser的身体会发生什么。我需要有快捷键,但只是ovveride CTRL S

任何想法?

我尝试添加webbrowsercontrol代码,但它doesnt工作:

保护覆盖BOOL ProcessDialogKey(键keyData)
{
 60; 尝试
 60; {
开关(keyData)
{
案件Keys.Control | Keys.S:
&# 160; MessageBox.Show("改变");
 0; 打破;
  ; }
返回base.ProcessDialogKey(keyData);
}
赶上(例外)
{
 0;
返回false; }
} ..或更确切地说它的工作原理,当我使用一些像未处理的快捷键CTRL q ..但CTRL S是由WebBrowser,并逮住什么
想法
感谢