以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 窗口多次打印 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=27192) |
||||
-- 作者:Neha -- 发布时间:2012/12/24 20:34:00 -- 窗口多次打印 以下是引用lin_hailun在2012-11-28 9:33:00的发言:
其实,是可以的,遍历复制Doc的所有对象,贴一段通用代码。 Dim doc As PrintDoc = e.Form.GernatePrintDoc() Dim ls_Obj As New List(Of Object) For Each c As Object In Doc.Body.Children Dim o As Object = c.clone() o.y = o.y.Value + 80 \'没有办法,试了很多,不能把窗口的高度转成unit类型,只能自己填写具体的值了 ls_Obj.Add(o) Next For Each o As Object In ls_Obj Doc.body.Children.Add(o) Next doc.Preview()
1.出现如图的错误怎么解决,这应该是打印窗体中的line控件引起的
2.打印的次数怎么修改
3.table控件设置了最大打印行后也会有错误,怎么解决 ![]() ![]() [此贴子已经被作者于2012-12-24 20:41:50编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/12/25 8:56:00 -- 这样加减。 Dim doc As PrintDoc = e.Form.GernatePrintDoc() Dim ls_Obj As New List(Of Object) For Each c As Object In Doc.Body.Children Dim o As Object = c.clone() o.y = new C1.C1Preview.Unit(CStr(o.y.value + 80))\'没有办法,试了很多,不能把窗口的高度转成unit类型,只能自己填写具体的值了 ls_Obj.Add(o) Next For Each o As Object In ls_Obj Doc.body.Children.Add(o) Next doc.Preview() |
||||
-- 作者:lin_hailun -- 发布时间:2012/12/25 8:59:00 -- 打印次数,你可以在外面再套一层循环 Dim doc As PrintDoc = e.Form.GernatePrintDoc() Dim ls_Obj As New List(Of Object) For i As Integer = 0 To 4 For Each c As Object In Doc.Body.Children Dim o As Object = c.clone() o.y = new C1.C1Preview.Unit(CStr(o.y.value + 80 * i))\'没有办法,试了很多,不能把窗口的高度转成unit类型,只能自己填写具体的值了 ls_Obj.Add(o) Next Next For Each o As Object In ls_Obj Doc.body.Children.Add(o) Next doc.Preview() |
||||
-- 作者:lin_hailun -- 发布时间:2012/12/25 9:00:00 -- 第三个,没发现报错。 |
||||
-- 作者:Neha -- 发布时间:2012/12/25 12:08:00 -- 以下是引用lin_hailun在2012-12-25 9:00:00的发言:
第三个,没发现报错。 代码改了还是报错
|
||||
-- 作者:lin_hailun -- 发布时间:2012/12/25 13:21:00 -- 以下是引用Neha在2012-12-25 12:08:00的发言:
代码改了还是报错 这个是 line 控件的问题,去掉这个控件。 |
||||
-- 作者:Neha -- 发布时间:2012/12/25 15:37:00 -- 以下是引用lin_hailun在2012-12-25 13:21:00的发言:
这个是 line 控件的问题,去掉这个控件。
![]() ![]() |
||||
-- 作者:lin_hailun -- 发布时间:2012/12/25 15:51:00 -- 因为你设置至少行数以后,y的值就是Auto,无法转换成数值,对于这种,你还是乖乖计算y的值吧。 |
||||
-- 作者:Neha -- 发布时间:2012/12/25 17:09:00 -- 以下是引用lin_hailun在2012-12-25 15:51:00的发言:
因为你设置至少行数以后,y的值就是Auto,无法转换成数值,对于这种,你还是乖乖计算y的值吧。 明白了,谢谢 |