C# RichTextBox 里处理表格

工作中遇到一个需求,大概是这样的

拿12306来当截图吧
这种情况用webbrower 或者asp来搞非常简单,但是我form里我必须要让数据拼一个表格,力求和这个效果一样
然后,开搞
重写RichTextBox,这个网上有线程的代码,直接拷过来搞,这里就不CTrl+C了
RicheTextBox有一个这样的属性RTF,这个属性可以把一个模板完全复制过来,而RTF是可以容纳图片表格很多东西的,这里笔者只用到表格,所以就只表格论述

从word拖一个表格,然后村委rtf格式,用txt打开,我贼!竟然草果400行,这不科学,但是这些东西那些可以删那些不能删,我怎么知道!!!
codeproject是一个不错的地方,搜索一下,找到这样的一段代码:

{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}{\f1\fnil\fcharset0 Microsoft Arial;}}
{\colortbl ;\red0\green0\blue0;}
\viewkind4\uc1\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10\brdrcf1 \trbrdrl\brdrs\brdrw10\brdrcf1 \trbrdrb\brdrs\brdrw10\brdrcf1 \trbrdrr\brdrs\brdrw10\brdrcf1 \clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx1576\clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx3260\clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx4944\pard\intbl\ltrpar\sl276\slmult1\f0\fs22 TopLeft\Top Right\cell\row
\trowd\trgaph108\trleft-108\trbrdrt\brdrs\brdrw10\brdrcf1 \trbrdrl\brdrs\brdrw10\brdrcf1 \trbrdrb\brdrs\brdrw10\brdrcf1 \trbrdrr\brdrs\brdrw10\brdrcf1 \clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx1576\clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx3260\clbrdrt\brdrw15\brdrs\clbrdrl\brdrw15\brdrs\clbrdrb\brdrw15\brdrs\clbrdrr\brdrw15\brdrs \cellx4944\intbl Bottom Left\cell Bottom Right\cell\row
\pard\ltrpar\sa200\sl276\slmult1\par
\pard\ltrpar\f1\fs17\par
}

这是两行文字,于是乎就解决了,其实也不是什么大问题,但是我界面颜色是很淡的,也就是没有边框,我要去除边框,于是再修改,这是最后的效果

不唠叨,几个要点:

1 、\trbrdrl\brdrs\brdrw10\brdrcf1  这是边框,可以去掉,我例子里已经去掉了,有意向的可以把我拼接的东西拉出来看看 
2、  @"\pard\intbl\ltrpar\sl276\slmult1\f0\fs22 "  这里的fs22是字体大小

这是我用到的时候一些问题,只是希望能给其他朋友一些帮助
源代码:files.cnblogs.com/fish124423/WindowsFormsApplication2.rar

posted @ 2013-03-14 16:35  爱喝可乐  阅读(5350)  评论(4编辑  收藏  举报