c# - Windows 窗体应用程序中的 HTML 编辑器

标签 c# .net vb.net winforms controls

<分区>

我们正在为我们的 Windows 应用程序(vb.net 或 c#)寻找一个所见即所得的编辑器控件,以便用户可以在发送之前设计 HTML 电子邮件(使用 dot net 框架中的 SMTP 对象发送)。

目前我们能找到的所有可用编辑器都存在以下问题之一:

  1. 他们依赖于 mshtml.dll 或网络浏览器控件,这已被证明是不可靠的,因为 HTML 代码和编辑器在 windows 2000 (IE6) 下不同步

  2. 它们是基于 Web 的,而不是 Windows 窗体控件

  3. 他们将样式放在文档的头部(见下面的注释)

不幸的是,因为这个HTML email article描述了使 HTML 电子邮件与样式一起工作的唯一可靠方法是内联使用它们,现在许多编辑器似乎不支持这种方法。

有没有人有这方面的经验或可以提出解决方案?

最佳答案

我一直在使用 this one ,它比 WebBrowser 低一点,但仍然使用 MSHTML,它确实会吐出一些难看的 HTML。出于我的目的,我正在使用 WYSIWYG 和 HTML 编辑模式(使用 ICSharp.TextEditor )做一个多标签编辑器,并在标签更改时更新 Buffer 类。作为 Buffer 类的一部分,我实际上 run the HTML through HTML Tidy和一些 scrub-n-replace 位以获得有效的 XHTML。

我只是将其作为一种解决方案提供,因为我也未能找到不是以某种方式从 MSHTML 派生的解决方案,最终只是继续使用上述解决方案以继续前进。

关于c# - Windows 窗体应用程序中的 HTML 编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8604/

相关文章:

c# - 如何判断一个DLL是托管程序集还是原生(防止加载原生dll)?

c# - 解决程序集未找到 |文件未找到异常 |融合日志

javascript - 强制 JavaScript 启动新的 Controller 操作

vb.net - 如何设置 Windows 窗体标题栏和 UI 使用 Windows 8/10 的平面操作系统主题,而不是 XP/7 纹理外观?

c# - MicrosoftAppId : '' is unauthorized to post to connector 的安全 token

c# - 数字已被星号 Asp.net webform 掩盖

c# - .Net Hashtable、Java Hashtable 和 HashMap 的区别

c# - 在图片框中打开之前如何调整图像大小

vb.net - 如何使用 VSTO 2005 导入或创建 Outlook 2003 规则 (.rwz)?

c# - 将参数数组传递给 Web 方法