如何给表格设置默认字体
一个模板里面有好几个table, 其中两个table要求设置默认字体为Calibri字体.在模板里面设置好了字体, 并且输入了几行文字, 但是当用户光标定位到这个table,并且开始输入内容的时候, 字体就变成了默认的宋体.怎么才能在这个两个table里面固定住字体呢?
在这两个table之外, 依然要求默认宋体.
做了一些尝试,基本确定解决办法就是给Selection设置FontName,FontSize等。
所以当你想指定一个Table都用某个字体的时候,就设置Selection的start和length,然后设置selection的字体属性就可以了。 有个疑问, 我怎么设置长度呢? 长度是在变化的, 用户在不断的输入内容啊. 你可以直接设置成最后一个单元格的长度,也可以直接选中整个Table。
this.textControl1.Tables.Add(3,2,10);
TableCell firstCell = this.textControl1.Tables.Cells.GetItem(0,0);
TableCell lastCell = this.textControl1.Tables.Cells.GetItem(2,1);
this.textControl1.Selection.Start = firstCell.Start;
this.textControl1.Selection.Length = lastCell.Start + lastCell.Length;
或者
this.textControl1.Tables.Select(); 更新到了23版本, 部分解决了这个问题 mindrayguowei 发表于 2016-7-29 10:06
更新到了23版本, 部分解决了这个问题
还剩什么问题呢?咱们再讨论下。 有点奇怪, 用32位Text Control, 输入时已经能默认按照我在模板里面写入文字的字体格式来, 这基本可以达到我的目的. 但是用64位Text Control就没有效果 如果您想实现所有table的字体都是一样的。
可以通过遍历来实现。
foreach (TXTextControl.Table table in this.textControl1.Tables)
{
foreach (TXTextControl.TableCell cell in table.Cells)
{
this.textControl1.Select(cell.Start,cell.Length);
this.textControl1.Selection.FontName= "Arial";
}
}
页:
[1]