KingMan 发表于 2017-4-7 15:15:58

TXTControl相关几个问题

本帖最后由 KingMan 于 2017-4-7 17:03 编辑

你好,在使用TXTControl过程中遇到几个问题,想请教一下看有没有什么思路。
1.在TXTControl中表格,TEXTFIELD等对象都是可以复制的,导致这些对象的ID都会重复,如多个TABLE 的ID 是一样的。多个TEXTFIELD的ID也可能出现一样的。
2.我尝试了下,在textControl1_TableCreated textControl1_TextFieldCreated事件中,,但是在插入表格,或者添加文本域的时候并没有触发该事件,
private void textControl1_TableCreated(object sender, TableEventArgs e)
      {
            Table txt = textControl1.Tables.GetItem();
            if (txt == null || txt.ID >= 0)
                return;
            int iMaxId = 0;
            foreach (Table pNext in textControl1.Tables)
            {
                if (pNext.ID > iMaxId)
                  iMaxId = pNext.ID;
            }
            txt.ID = iMaxId;
      }

private void textControl1_TextFieldCreated(object sender, TextFieldEventArgs e)
      {
            TextField txt = textControl1.TextFields.GetItem();
            if (txt == null || txt.ID >= 0)
                return;
            int iMaxId = 0;
            foreach (TextField pNext in textControl1.TextFields)
            {
                if (pNext.ID > iMaxId)
                  iMaxId = pNext.ID;
            }
            txt.ID = iMaxId;
      }

3.假如现在我在TXTControl中有多个表格,每个表格表头都不一样,我现在想将每个表都存为一个BYTE[],存到数据库中,这样我可以在其他模板中直接调用引用BYTE[]加载进来
4.我想将一个TEXTFIELD带格式的,保存为byte[] 存储到数据库,怎么获取TEXTFIELD带格式的BYTE[] 数据。
5.如何设置TXTControl控件纸张,如要设置A4,B5纸张,还有如何设置横向等问题。

gw0506 发表于 2017-4-7 18:35:41

1。 没有太好的办法。只能写代码干预吧。add的时候检查id有没有重复,然后处理掉。
2. 这个事件只有在UI上从clipboard粘贴到tx上的时候才触发。代码写的添加不触发。
3. 我不知道你的问题是什么?如果是问怎么把table存成byte[],控件没有支持。
4,本身没有支持。
5. 你在文档里搜print就知道了。
int m_curPage = 2;
PrintDocument myPrintDoc = new PrintDocument();
myPrintDoc.DefaultPageSettings.PaperSize = new PaperSize("default",
                                                         textControl1.PageSize.Width,
                                                         textControl1.PageSize.Height);
myPrintDoc.DefaultPageSettings.Margins = new Margins(textControl1.PageMargins.Left,
                                                   textControl1.PageMargins.Right,
                                                   textControl1.PageMargins.Top,
                                                   textControl1.PageMargins.Bottom);
myPrintDoc.PrinterSettings.PrintRange = PrintRange.SomePages;
myPrintDoc.PrinterSettings.FromPage = m_curPage;
myPrintDoc.PrinterSettings.ToPage = m_curPage;
textControl1.Print(myPrintDoc);
页: [1]
查看完整版本: TXTControl相关几个问题