以文本方式查看主题

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

--  作者:swagger
--  发布时间:2019/10/28 11:44:00
--  pictureboxpiao据打印问题
Dim grp As WinForm.GroupBox = e.Form.Controls("PictureBox1")
Dim doc As PrintDoc = e.Form.GernatePrintDoc(grp)
doc.Preview()

无法将类型为“Foxtable.WinForm.PictureBox”的对象强制转换为类型“Foxtable.WinForm.GroupBox”。

这个问题怎么解决呢



代码搞错了,是

Dim grp As WinForm.Picturebox = e.Form.Controls("PictureBox1")
Dim doc As PrintDoc = e.Form.GernatePrintDoc(grp)
doc.Preview()

显示错误:未将对象引用设置到对象的实例。
[此贴子已经被作者于2019/10/28 11:57:21编辑过]

--  作者:swagger
--  发布时间:2019/10/28 11:48:00
--  
目前临时解决办法是在picturebox里面放一个groupbox.但是groupbox不能隐藏边框线条,影响美观
--  作者:有点蓝
--  发布时间:2019/10/28 11:54:00
--  
picturebox放到一个panel里面,

im grp As WinForm.panel = e.Form.Controls("panel1")
Dim doc As PrintDoc = e.Form.GernatePrintDoc(grp)
doc.Preview()

--  作者:swagger
--  发布时间:2019/10/28 12:03:00
--  
panel不行,因为pandel不可以设置背景图片,票据打印一般都是设置背景图片。我是用一个tab, 然后里面有几种票据,每页都应一个票据。因为tab没法设置背景图标,所以每个tab页面加了个picturebox,但是picturebox又不能打印



--  作者:swagger
--  发布时间:2019/10/28 12:06:00
--  
Dim grp As WinForm.Picturebox = e.Form.Controls("PictureBox1")
Dim doc As PrintDoc = e.Form.GernatePrintDoc(grp)
doc.Preview()

未将对象引用设置到对象的实例

--  作者:有点蓝
--  发布时间:2019/10/28 12:09:00
--  
picturebox肯定可以打印,但是放到picturebox里面的其它控件是无法打印的。

添加一个panel,picturebox和其它控件都放到panel里面,注意的是其它控件不能放到picturebox里,只能放到panel里,所以尽量不要使用鼠标拖动,使用ctrl+方向键移动,picturebox和其它控件是同一层次的,不能有包含关系。先调整好其它控件,最后再调整picturebox,然后把picturebox设置为最底层。