以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求代码修改  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84724)

--  作者:poiokm26
--  发布时间:2016/5/9 10:52:00
--  [求助]求代码修改
Select Case dr2("打印纸张")
Case "A3 297 x 420 毫米"
e.Form.page.paperKind=8
Case "A4 210 x 297 毫米"
e.Form.page.paperKind=9
Case "A5 148 x 210 毫米"
e.Form.page.paperKind=11
Case "B4 257 x 364 毫米"
e.Form.page.paperKind=12
Case "B5 182 x 257 毫米"
e.Form.page.paperKind=13
Case "A2 420 x 594 毫米"
e.Form.page.paperKind=66
Case "A6 105 x 148 毫米"
e.Form.page.paperKind=70
Case "自定义"
Dim Multi As String = dr2("自定义纸张")
Dim Values() As String
Values = Multi.split("x")
e.Form.page.width=values(0)
e.Form.page.height=values(1)
End Select


上面的代码,在自定义那里出现了问题。一旦选择了自定义,再选择其它纸张。预览效果永远是自定义的,只能重新打开窗口才回复正常。

问题出在执行
e.Form.page.width
e.Form.page.height
之后再执行
e.Form.page.paperKind 无效。

这应该是BUG吧。(解决方法把每行的e.Form.page.paperKind都改成e.Form.page.width,e.Form.page.height..)


--  作者:大红袍
--  发布时间:2016/5/9 11:16:00
--  

代码这样写

 

e.Form.Page.Width = 100 \'纸张宽度为100毫米
e.Form.Page.Height = 120 \'纸张高度为120毫米
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.PageSetting.PaperKind = 8
doc.Preview()