5

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

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

  1. 谁能想到解决这个问题的想法?(不使用固定宽度的字体和空格)这将是最好的解决方案,因为其他代码已经运行良好,所以如果只需要一个肮脏的黑客,那就太好了。

  2. 或者您可以推荐.Net富文本编辑器的开源替代品吗?我需要一个可以嵌入到我的 Windows 窗体中并以编程方式访问内容的用户控件(创建内容或附加某些内容)。我在网上搜索了一段时间,但只找到了 web (Ajax/Javascript) 控件。

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

  4. 你们觉得什么最适合这个目的?

4

2 回答 2

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;
     }
}

这里采购。

祝你今天过得愉快:)

于 2009-10-02T09:22:47.613 回答
2

3.我也可以使用HTML WYSIWYG 编辑器,但它们基本上都是使用MSHTML 嵌入和编辑的IE 浏览器,在Winforms 应用程序中使用它感觉有点奇怪(也许我错了)。

我编写了一个 HTML WYSIWYG 编辑器:用于 .NET 的 ModelText HTML 控件。它是纯托管代码,不依赖于浏览器;它导出 .NET API,让您以编程方式访问其内容。

即将发布的下一个版本(几天后)将支持单元格对齐(通过支持 CSS“text-align”属性)。

于 2010-07-03T00:11:59.870 回答