mindrayguowei 发表于 2016-2-18 17:32:00

如何在table cell 里面插入文字到光标处

如题

gw0506 发表于 2016-2-18 18:12:00

      private void Form1_Load(object sender, EventArgs e)
      {
            int tableID = 10;
            textControl1.Tables.Add(6, 3, tableID);
            TXTextControl.Table table = textControl1.Tables.GetItem(tableID);
            table.Cells.GetItem(1, 1).Text = "Date / Time";
            table.Cells.GetItem(1, 2).Text = "Customer data";
            table.Cells.GetItem(1, 3).Text = "Result";


      }

      private void button1_Click(object sender, EventArgs e)
      {
            this.textControl1.Selection.Start = this.textControl1.InputPosition.TextPosition;
            this.textControl1.Selection.Text = "插入文本";
      }



mindrayguowei 发表于 2016-2-19 09:27:00

这个Demo不对的
跑起来之后发现文字只能插入到表格下面, 我要的是插入到表格中的某一个cell

gw0506 发表于 2016-2-19 09:52:00

你要插入那里,你先点一下就好了。
你可以看一下代码,就几行,你一看就懂了。就是我说的,找到inputpostion,然后插入。那么你只要控制inputposition就好了。如果你是让用户控制,用户一定会点一下。如果你要程序控制,那你添加你的业务逻辑设置它的值就好了。

mindrayguowei 发表于 2016-2-19 17:20:00

在表格里面点一下确实可以插入文字,但是我的业务还要复杂一点.
如果光标在表格外面,是不允许插入文字的.那么现在的问题变成了,如何判断光标是不是在表格里面?

gw0506 发表于 2016-2-19 18:08:00

业务逻辑,还是你多费心了。

总的来说,inputpostion就是当前光标位置,你取到Table第一个Cell的Start和最后一个Cell的length。在区间内就是在Table中,反之不在。
Table.Cells.GetItem(1, 1).Start

mindrayguowei 发表于 2016-2-24 11:44:00

还是有问题的, 在我的实际应用场景里面, _textControl.InputPosition.TextPosition 并不是当前光标位置,.
我无论光标设置在table cell里面文字的哪个位置, 这个值都没有变.
我按照demo里面 this.textControl1.Selection.Text = "插入文本" 这么写, 也没有插入到光标位置

我的textcontrol 界面是通过加载一个预先定义好table的TX格式文件展示的

gw0506 发表于 2016-2-24 15:15:00

那你一开始就应该把你这个场景,以及预加载文件给我。
你发给我我看看吧。

mindrayguowei 发表于 2016-2-24 17:19:00

模板文件在附件里面, 有两个table, 分别都只有一个cell, 现在要在光标定位到其中一个cell的时候插入文字

gw0506 发表于 2016-2-25 15:32:00

不好意思,我没有找到附件。你说的是论坛里,还是发到我们邮箱了?
页: [1] 2
查看完整版本: 如何在table cell 里面插入文字到光标处