RichTextBox(.NET Winforms)问题(或替代)

Gro*_*roo 5 .net wysiwyg rtf richtextbox html-editor

我有.Net的RichTextBox控件的问题.它似乎不支持表格单元格格式化,这很有趣,因为大多数时候我创建表格我希望单元格内容是右对齐的(数字,货币).

如果我尝试在RichTextBox中打开写字板文档,它会忽略(并实际删除)用于单元格对齐的命令.我尝试了几种解决方法,但没有成功.

  1. 谁能想到解决这个问题的想法?(不使用固定宽度的字体和空格)这将是最好的解决方案,因为其他代码已经正常工作,所以如果只需要的东西是一个肮脏的黑客,它会很棒.

  2. 或者,您可以推荐使用.Net Rich Text Editor的开源替代方案吗?我需要一个用户控件,我可以嵌入我的Windows窗体并以编程方式访问内容(创建内容或附加内容).我在网上搜索了一段时间,但发现只有web(Ajax/Javascript)控件.

  3. 我也可以使用HTML WYSIWYG编辑器,但它们基本上都是使用MSHTML嵌入和编辑的IE浏览器,在Winforms应用程序中使用它感觉有点奇怪(也许我错了).在这种情况下,我们需要一些额外的时间来实现HTML的内容生成器 - 尽管它比RTF恕我直言更容易阅读和生成.

  4. 你们为此目的最好的是什么?

Hof*_*nia 9

如果你仍然沿着.net winforms路径继续从RichTextBox继承并添加以下代码,它会将RichTextBox转换为"可用"的东西:

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern IntPtr LoadLibrary(string lpFileName);

protected override CreateParams CreateParams
{
    get
    {
       CreateParams cparams = base.CreateParams; 
       if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
       {
          cparams.ClassName = "RICHEDIT50W";
       }
       return cparams;
     }
}
Run Code Online (Sandbox Code Playgroud)

来自这里.

祝你今天愉快:)

  • 一些精简版基准测试数据:基于此示例加载到控件中的723行XML文档的样式将时间从1700ms减少到1200ms,因此性能有了明显的提升,但仍然需要从MS的丰富编辑控件中获得一些整体效果.一般. (2认同)