【发布时间】:2012-04-24 06:35:38
【问题描述】:
我正在开发一个 C# 应用程序(Windows 窗体),它有一个保存在数据库中的 DataGridView(每个单元格都被视为一个字符串)。我想要做的是添加一个按钮,该按钮将为文本(或单元格 BackColor)着色,这样当我(在纸上)打印我的数据库内容时,颜色会保持不变。
我的想法是将单元格字符串转换为 RTF,但我真的不知道如何为单元格执行此操作本机不支持 RTF。我想尽可能避免将 DataGridView 更改为丰富的 DataGridView,所以我想知道是否可以在保存彩色单元格时执行类似添加此字符串的操作:
"{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset0 微软无衬线;}{\f1\fnil\fcharset0 微软无衬线;}} {\colortbl ;\red255\green0\blue0;} \viewkind4\uc1\pard\ltrpar\cf1\f0\fs17 " + cell.Value.ToString() + "\cf0\f1\par"
棘手的是,当我打开我的应用程序时,我想读取每个单元格的字符串,并将 RTF 样式应用于单元格样式。例如,我保存了一个包含“hello”的红色单元格,当我打开我的应用程序时,我希望单元格为红色,但是当我打印(再次打印)时,我希望文本为红色(因此在打开时解析 RTF 以分开格式中的文本)。
有什么想法吗?提前致谢。 :)
【问题讨论】:
标签: c# parsing datagridview rtf