以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 请教:如何获取指定打印机可用纸张和页面最小可打印边距  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=9565)

--  作者:程兴刚
--  发布时间:2011/4/23 8:26:00
--  [求助] 请教:如何获取指定打印机可用纸张和页面最小可打印边距
按理说应该有一个系统变量或方法来返回一个数组,从而获取指定打印机的所有可用纸张,帮助中找不到,请高手指点,谢谢!
--  作者:狐狸爸爸
--  发布时间:2011/4/23 9:49:00
--  
Dim st As new system.Drawing.printing.PrinterSettings
\'st.PrintName = "打印机名"
For Each ps As System.Drawing.Printing.PaperSize In st.PaperSizes
    output.show(ps.PaperName)
Next

--  作者:程兴刚
--  发布时间:2011/4/23 9:57:00
--  
加入帮助,谢谢!
--  作者:狐狸爸爸
--  发布时间:2011/4/23 10:06:00
--  
呵呵,不需要加入帮助的,加不完的,只能比较常用的。
--  作者:程兴刚
--  发布时间:2011/4/23 10:10:00
--  

Dim st As new system.Drawing.printing.PrinterSettings
Dim sz As String
st.PrintName = e.Form.Controls("ComboBox1").Value
For Each ps As System.Drawing.Printing.PaperSize In st.PaperSizes
    sz = sz & "|" & ps.PaperName
Next
e.Form.Controls("ComboBox2").ComboList = sz

 

这里为何错误:st.PrintName = e.Form.Controls("ComboBox1").Value


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

请赐教!


--  作者:狐狸爸爸
--  发布时间:2011/4/23 10:23:00
--  

老程,我手误,应付是:

 

st.PrinterName = e.Form.Controls("ComboBox1").Value


--  作者:程兴刚
--  发布时间:2011/4/23 10:41:00
--  
呵呵,是我傻的可爱,没看出来!
--  作者:blackzhu
--  发布时间:2011/4/23 10:46:00
--  
照抄惹的祸,哈哈!
--  作者:程兴刚
--  发布时间:2011/4/23 11:26:00
--  

再问:

 

纸张类型和值如何相互转换?我想不会还要加辅助表来实现吧?


--  作者:狐狸爸爸
--  发布时间:2011/4/23 11:33:00
--  

Dim st As new system.Drawing.printing.PrinterSettings
\'st.PrintName = "打印机名"
For Each ps As System.Drawing.Printing.PaperSize In st.PaperSizes
     output.show(ps.PaperName & ":" &  ps.Kind)
Next