找回密码
 立即注册

QQ登录

只需一步,快速开始

HIFRANK

高级会员

1

主题

8

帖子

1521

积分

高级会员

积分
1521

活字格认证

最新发帖
HIFRANK
高级会员   /  发表于:2015-1-12 08:14  /   查看:10413  /  回复:13
如何实现信纸方式录入文本?

13 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-1-12 14:06:00
沙发
回复 1楼HIFRANK的帖子

很抱歉,不是十分清楚你的需求?信纸方式录入指的是什么,Word 中可以查看这个方式吗?

如果你指的是邮件合并,请参考:
http://blog.gcpowertools.com.cn/ ... 90%88%E5%B9%B6.aspx
回复 使用道具 举报
HIFRANK
高级会员   /  发表于:2015-1-12 15:02:00
板凳

如图所示

QQ截图20150112145910.jpg
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-12 15:36:00
地板
回复 3楼HIFRANK的帖子

这个需求可以通过插入 Table 来模拟这个功能,代码如下:

  1. private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             this.textControl1.Text = "";

  4.             int tableID = 10;
  5.             textControl1.Tables.Add(6, 1, tableID);
  6.             TXTextControl.Table table = textControl1.Tables.GetItem(tableID);
  7.             this.textControl1.Tables.GridLines = false;
  8.             table.Cells.GetItem(1, 1).Text = "问:";
  9.             table.Cells.GetItem(2, 1).Text = "答:";
  10.             table.Cells.GetItem(3, 1).Text = "问:";
  11.             table.Cells.GetItem(4, 1).Text = "答:";
  12.             table.Cells.GetItem(5, 1).Text = "问:";
  13.             table.Cells.GetItem(6, 1).Text = "答:";

  14.             foreach (TableCell cell in this.textControl1.Tables.GetItem(10).Cells)
  15.             {
  16.                 if (cell.Column == 1)
  17.                 {
  18.                     cell.CellFormat.LeftBorderWidth = 0;
  19.                     cell.CellFormat.RightBorderWidth = 0;
  20.                     cell.CellFormat.TopBorderWidth = 0;
  21.                     cell.CellFormat.BottomBorderWidth = 1;
  22.                 }
  23.             }
  24.         }
复制代码


效果图:

无标题.png
回复 使用道具 举报
HIFRANK
高级会员   /  发表于:2015-1-12 16:11:00
5#
一个问有三行呢?

一个答有五行呢?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-12 17:32:00
6#
回复 5楼HIFRANK的帖子

实现多行问答需要进行详细调查,也许会有一定的编码量。

请问您这边是否还有其他需求需要实现?
如果有请您一并反馈,我们进行调查。
回复 使用道具 举报
HIFRANK
高级会员   /  发表于:2015-1-13 08:12:00
7#
回复 6楼iceman的帖子

就是信纸模式而已。。。。。。。这还要涉及到很多开发量啊?
那wps的稿纸模式还得了?

这么牛逼的控件,肯定不是你这样的解困思路的。。。。

求思考,求指导!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-13 13:36:00
8#
回复 7楼HIFRANK的帖子

TX 本身不支持“信纸编辑模式”。
4#中的截图是通过 TX for WinForms 版本模拟的。如果你是 VB.6.0 平台,下载链接为:
http://www.gcpowertools.com.cn/d ... ial_activex_x11.zip

提供下实现思路:
1.通过 Table 模拟下划线
2.隐藏TableCell上、左、右边框。
回复 使用道具 举报
HIFRANK
高级会员   /  发表于:2015-1-14 08:15:00
9#
回复 8楼iceman的帖子

这个思路是错误的,如果一个table的row里面只有一根bottom line
而这row里面有多行不确定哪里回车的汉字,你怎么解决?

你是超级版主,不带这么简单粗暴思考问题的,求努力thinking!谢谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-14 14:26:00
10#
回复 9楼HIFRANK的帖子

”这row里面有多行不确定哪里回车的汉字“
因为TX不支持信纸模式,所以需要采用TableRow 的下边框来模拟,如果一个问存在多行那就再插入多行进行模拟。

我理解你的需求是点击回车时要插入一个新行,可以通过获取 TXTextControl.KeyDown 事件,如果是 Enter,就使用TXTextControl.TableInsert 方法插入一行。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部