我对.net有问题 RichTextbox 控制。看来它不支持表单元格格式,这很有趣,因为大多数时候我创建桌子,我希望单元格内容正确对准(数字,货币)。

如果我尝试在RichTextbox中打开WordPad文档,它会忽略(实际上 去除)单元格对齐的命令。我尝试了几次解决方法,但没有成功。

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

  2. 还是可以推荐的.NET丰富文本编辑器的开源替代方案?我需要一个可以嵌入Windows表单中的用户控件,并以编程方式访问内容(创建内容或附加内容)。我已经搜索了网络一段时间,但仅找到Web(Ajax/JavaScript)控件。

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

  4. 你们为此目的找到什么?

有帮助吗?

解决方案

如果您仍在沿着.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;
     }
}

来自 这里.

祝你今天过得愉快:)

其他提示

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

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

要发布的下一个版本(从现在开始的几天内)将支持单元格(通过支持CSS“文本校友”属性)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top