HIFRANK 发表于 2015-1-12 08:14:00

如何实现信纸方式录入文本?

如何实现信纸方式录入文本?

iceman 发表于 2015-1-12 14:06:00

回复 1楼HIFRANK的帖子

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

如果你指的是邮件合并,请参考:
http://blog.gcpowertools.com.cn/post/2012/11/16/TX-Text-Control-NET-%E4%BA%A7%E5%93%81%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97%EF%BC%887%EF%BC%89%E9%82%AE%E4%BB%B6%E5%90%88%E5%B9%B6.aspx

HIFRANK 发表于 2015-1-12 15:02:00

如图所示

iceman 发表于 2015-1-12 15:36:00

回复 3楼HIFRANK的帖子

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

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

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

            foreach (TableCell cell in this.textControl1.Tables.GetItem(10).Cells)
            {
                if (cell.Column == 1)
                {
                  cell.CellFormat.LeftBorderWidth = 0;
                  cell.CellFormat.RightBorderWidth = 0;
                  cell.CellFormat.TopBorderWidth = 0;
                  cell.CellFormat.BottomBorderWidth = 1;
                }
            }
      }


效果图:

HIFRANK 发表于 2015-1-12 16:11:00

一个问有三行呢?

一个答有五行呢?

iceman 发表于 2015-1-12 17:32:00

回复 5楼HIFRANK的帖子

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

请问您这边是否还有其他需求需要实现?
如果有请您一并反馈,我们进行调查。

HIFRANK 发表于 2015-1-13 08:12:00

回复 6楼iceman的帖子

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

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

求思考,求指导!

iceman 发表于 2015-1-13 13:36:00

回复 7楼HIFRANK的帖子

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

提供下实现思路:
1.通过 Table 模拟下划线
2.隐藏TableCell上、左、右边框。

HIFRANK 发表于 2015-1-14 08:15:00

回复 8楼iceman的帖子

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

你是超级版主,不带这么简单粗暴思考问题的,求努力thinking!谢谢!

iceman 发表于 2015-1-14 14:26:00

回复 9楼HIFRANK的帖子

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

我理解你的需求是点击回车时要插入一个新行,可以通过获取 TXTextControl.KeyDown 事件,如果是 Enter,就使用TXTextControl.TableInsert 方法插入一行。
页: [1] 2
查看完整版本: 如何实现信纸方式录入文本?