以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这个画线条的是否是BUG  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82768)

--  作者:douglas738888
--  发布时间:2016/3/24 14:39:00
--  这个画线条的是否是BUG
在窗口设计和打开预览时所画线条是正常的,但是在打印阅览时,竖线条就出现问题,不在绘制位置,请老师看看

窗口设计

图片点击可在新窗口打开查看此主题相关图片如下:未标题-1.jpg
图片点击可在新窗口打开查看

打印阅览

图片点击可在新窗口打开查看此主题相关图片如下:未标题-2.jpg
图片点击可在新窗口打开查看



--  作者:大红袍
--  发布时间:2016/3/24 14:57:00
--  
你微调一下长度就好,从像素转成毫米可能有一定的误差。
--  作者:douglas738888
--  发布时间:2016/3/24 15:33:00
--  
经过测试,微调也不行,打印阅览没有问题了,窗口的线条就差一大截,

再测试,发现,在竖线条高度的范围内不能有TEXTBOX ,LABLE 其他控件存在,不然指定容器打印方式就会把竖线条往上移动,

如果竖线条周围没有其他TEXTBOX控件,窗口绘制和打印预览是正常的,请老师也测试下看看。

因为我需要以电子表格的方式进行设计,部分控件要放入,需要画线条,似乎只能用指定容器打印,专业报表打印还是有些复杂哦。
[此贴子已经被作者于2016/3/24 15:33:39编辑过]

--  作者:大红袍
--  发布时间:2016/3/24 15:54:00
--  

 我测试没问题,做个例子发上来。


--  作者:douglas738888
--  发布时间:2016/3/24 16:19:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


--  作者:大红袍
--  发布时间:2016/3/24 16:26:00
--  
Dim grp As WinForm.Panel = e.Form.Controls("Panel1")
Dim doc As PrintDoc = e.Form.GernatePrintDoc(grp)
For Each c As Object In doc.body.children
    If typeof c Is prt.RenderText Then
        If c.Text.length > 100 Then
            c.height = "auto"
        End If
    End If
Next
doc.Preview()

--  作者:狐狸爸爸
--  发布时间:2016/3/24 16:40:00
--  
收藏待处理
--  作者:douglas738888
--  发布时间:2016/3/24 16:43:00
--  
谢谢大红袍老师,另外请教  If c.Text.length > 100 Then,  这句代码怎样理解,输入内容的长度大于100与竖线的关系是什么。

--  作者:大红袍
--  发布时间:2016/3/24 16:45:00
--  
你设置 c.height = "auto" 的时候影响的,不设置就没问题。加入判断,是为了上面的textbox不执行那句代码。
--  作者:狐狸爸爸
--  发布时间:2016/3/24 16:53:00
--  

撤销收藏,我还以为foxtable有问题呢