以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  打印  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62721)

--  作者:zhangxl1964
--  发布时间:2015/1/7 9:16:00
--  打印
老师:你好!

      我在窗口先放入页面集合然后再放入分区面板,最后设计入库单。下面的打印代码如何修改?烦请修改一下,谢谢!

e.Form.Page.PaperKind = 9 \'纸张类型改为B5
Dim tb As WinForm.TabControl = e.Form.Controls("TabControl2")
Dim pg As WinForm.TabPage = tb.SelectedPage
Dim doc As PrintDoc = e.Form.GernatePrintDoc(pg)
doc.Preview()

--  作者:有点甜
--  发布时间:2015/1/7 9:21:00
--  
 现在有什么问题?
--  作者:Bin
--  发布时间:2015/1/7 9:24:00
--  
你好,既然你用了上面的代码,你应该明白, 容器里面的东西是无法打印的.

同样 分区面板也属于容器的一种, 所以你是无法直接把它打印出来的.

1.你改变布局换个方式

2.如果你是要打印分区面板某一个面板里面的内容,你只需要把 
Dim doc As PrintDoc = e.Form.GernatePrintDoc(pg)
doc.Preview()
改为
Dim doc As PrintDoc = e.Form.GernatePrintDoc(e.Form.Controls("分区面板控件名").Panel1)   \'打印分区面板第二个面板用Panel2
doc.Preview()



--  作者:zhangxl1964
--  发布时间:2015/1/7 9:50:00
--  
能否提供完整的代码?不会弄啊!
--  作者:Bin
--  发布时间:2015/1/7 9:51:00
--  
这就是完整的啊.
--  作者:有点甜
--  发布时间:2015/1/7 10:02:00
--  
以下是引用zhangxl1964在2015-1-7 9:50:00的发言:
能否提供完整的代码?不会弄啊!

 

分区面板是无法一起打印两个面板的。

 

每次打印,只能打印一个面板。要打印的东西必须装在panel里面,panel里不能再放面板


--  作者:zhangxl1964
--  发布时间:2015/1/7 10:36:00
--  
谢谢!单独在页面集合中会设置了,可套在分区面板中不会。
--  作者:有点甜
--  发布时间:2015/1/7 11:10:00
--  

 什么不会啊,要打印哪一个容器,就直接引用哪一个容器啊。