已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自定义页大小DimpkCustomSize1AsNewPrinting.PaperSize(p,450,400)printdoc.DefaultPageSettings.PaperSize=pkCustomSize1StaticintCurrentCharAsInt32=0DimfontAsNewfont(MicrosoftSansSerif,24)DimintPrintAreaHeight,intPrintAreaWidth,marginLeft,marginTopAsInt32Withpdoc.DefaultPageSettingsintPrintAreaHeight=.PaperSize.Height-.Margins.Top-.Margins.Bottom指定文字区域高度intPrintAreaWidth=.PaperSize.Width-.Margins.Left-.Margins.Right指定文字区域宽度marginLeft=.Margins.Left左上角坐标marginTop=.Margins.TopYcoordinate坐标EndWithDimintLineCountAsInt32=CInt(intPrintAreaHeight/font.Height)DimrectPrintingAreaAsNewRectangleF(marginLeft,marginTop,intPrintAreaWidth,intPrintAreaHeight)DimfmtAsNewStringFormat(StringFormatFlags.LineLimit)DimintLinesFilled,intCharsFittedAsInt32MID返回指定数量的字符串e.Graphics.MeasureString(Mid(txtDocument.Text,intCurrentChar+1),font,NewSizeF(intPrintAreaWidth,intPrintAreaHeight),fmt,intCharsFitted,intLinesFilled)NEWSIZE(INTPRINTAREAWIDTH,INTPRINTAREAHEIGHT)指矩形的宽度和高度e.Graphics.DrawString(Mid(txtDocument.Text,intCurrentChar+1),font,Brushes.Black,rectPrintingArea,fmt)intCurrentChar+=intCharsFittedIfintCurrentChar 0 Then 检测打印机是否存在If ps.PrinterSettings.IsValid = True Then 检测打印机是否有效For Each myPaperSize In ps.PrinterSettings.PaperSizes 检查该当前打印机是否支持A3的纸张If myPaperSize.Kind = PaperKind.A3 ThenExit ForEnd IfnextIf myPaperSize.Kind PaperKind.A3 Then 如果当前打印机不支持A3纸张,那么自定义A3大小的纸张myPaperSize = New System.Drawing.Printing.PaperSize(A3, 1169, 1654)End Ifps.PaperSize = myPaperSize 设置为指定的纸张ps.Landscape = FalsepDocument.DefaultPageSettings = pspDocument.PrinterSettings.PrinterName = ps.PrinterSettings.PrinterNameEnd IfEnd IfVB.net 2010教案之打印设置对话框、打印对话框、打印预览对话框作者:转载自:更新时间:2011-3-11本教案需配合视频教程学习,视频教程地址为:/eschool/VBNET_xin3721/。打印设置对话框是多数软件都会用一的一个普遍功能,那么本节就来讲一下对话框的定义:打印的全过程需要考虑到打印机的选择、页面设置和如何打印多页面。System.Drawing.Printing命名空间中的类可以完成打印功能。因此,需要用到如下几个类:PrintDocument:打印的基类,如若要打印一个文档,必须创建该类的实例,后用其Print()方法来实现打印。PrintController:控制打印任务流,该类提供了打印开始、打印每个页面和打印结束控制。该类是抽象类,真正完成打印任务的是具体类StanddardPrintController和PreviewPrintController。PrinterSettings:使用PrinterSetting类可以获取打印和设置打印机配置。例如,双面打印、横向打印或纵向打印、打印份类等。该类的配置由PageSetupDialog类进行。PrintDialog:确定使用哪个打印机打印和如何配置PrinterSettings。PageSettings:设置打印页面,可以设置页面是彩色还是黑白。该类的配置由PageSetupDialog类进行。Graphics:使该类可以访问打印机的设备内容,为打印机发送字符串、线条和曲线。PageSetupDialog:为打印页面设置边距PageSetupDialog类可以配置页面大小、纸张来源、方向和页边距,因此这些选项都依赖于打印机,所以在该对话框中还可以选择打印机。PageSetupDialog类的Allowpaper属性为True时,表示用户可以选持纸张大小和纸张来源。PageSetupDialog.PageSettinsgs.PaperSize属性返回一个PaperSize实例,其属性Height、Width和PaterName可以读取高度、宽度和纸张名称。PageSetupDialog类的AllowMargins属性为Ture时,将充许用户设置打印输出的页边距值。MinMargins属性可以为用户定义输入的最小页边距。要读取页边距时,可以使用PageSetupDialog.PageSettings.Margins属性,Margin类包含Bottom、Left、Right和Top属性。PageSetupDialog.AllowOrientation属性定义用户是滞可以选择纵向和横向打印方式。当PageSetupDialog.PageSettings.Landscape的值为True时,表示用户指向横向打印;其值为False时,表示指定纵向打印。示例Private Sub PrintDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument.PrintPageDim lines As String() = TextBox1.Text.Split(New Char() Chr(10)Dim i As Integer = 0For Each s As String In lineslines(i) = s.TrimEnd(Chr(13)i += 1NextDim xPos As IntegerDim yPos As IntegerDim printFont As Font = Me.TextBox1.FontFor Each line As String In linese.Graphics.DrawString(line, printFont, Brushes.Black, xPos, yPos)yPos += 15NextEnd SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTryPrintDocument.Print()Catch ex As ExceptionMessageBox.Show(ex.Message, “文本编辑器 MessageBoxButtons.OK, MessageBoxIcon.Error)End TryEnd SubPrivate lines As String()Private linesCounter As IntegerPrivate Sub PrintDocument_BeginPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument.BeginPrintlines = TextBox1.Text.Split(Chr(10)Dim i As Integer = 0For Each s As String In lineslines(i) = s.TrimEnd(Chr(13)i += 1NextEnd SubPrivate Sub PrintDocument_EndPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument.EndPrintlines = NothingEnd Sub这里我们使用PageSetupDialog类AllowPaper属性,可以定义用户是否可以设置纸张大小。PageSetupDialog.PageSettings.PaperSize属性返回一个PaperSize实例,其属性Height、Width和PaperName可以读取高度、宽度和纸张名称(如A4、B4等名称) PageSetupDialog类的AllowMargins属性为True时,将充许用户设置打印设置输出的页边距值。MinMargins属性可以为用户定义输入的最小页边距。要读取页边距时,可以使用PageSetupDialog.PageSettings.Margins属性,Margins类包含Buttom、Left、Right和Top属性。PageSetupDialog.AllowOrientation属性定义用户是否可以选择纵向和横向打印方式。当PageSetupDialog.PageSettings.Landscape的值为True时,表示用户指向横向打印;其值为False时,表示指定纵向打印。 Dim testPageSetup As New PageSetupDialogtestPageSetup.Document = PrintDocumenttestPageSetup.AllowPaper = FalsetestPageSetup.AllowPrinter = FalsetestPageSetup.AllowOrientation = FalsetestPageSetup.AllowMargins = FalsetestPageSetup.ShowDialog() PrintDialog提供了“确定”和“取消”按钮,以及范围。返回为DialogResult.OK或DialogResult.Cancel。 PrintDialog的属性 AllowPrintToFile在其中,不仅可以选择打印机,还有一个“打印到文件”的复选项,选择该选项时可以让用户输出结果打印到一个文件中,而不是打印机上。 PrintDialog对话框不仅充许用户打印所有的文档,还充许用户打印文档中选中的部分,如是只打印选中的文本,可以将属性AllowSelection设置为True即可。 AllowSomePages 是否启用打印某个范围的页面。打印预览对话框Option ExplicitConst KeyName = SoftwareMicrosoftWindows NTCurrentVersionWindowsPrivate Sub Command1_Click()Dim Ver As OSVERSIONINFO, S As String, hKey As LongDim Device As String, length As LongVer.dwOSVersionInfoSize = Len(Ver)GetVersionEx VerDevice = List1.Textlength = LenB(StrConv(Device, vbFromUnicode) + 1If Ver.dwPlatformId = VER_PLATFORM_WIN32_NT ThenRegOpenKey HKEY_CURRENT_USER, KeyName, hKeyRegSetValueEx hKey, Device, 0, REG_SZ, ByVal Device, lengthRegCloseKey hKeyMsgBox 设置默认打印机: & List1.Text & 成功!, vbInformation, 温馨提示ElseWriteProfileString windows, device, Device
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 丁苯橡胶装置操作工安全技能竞赛考核试卷含答案
- 无人机货物识别与装载-洞察与解读
- 黑龙江农垦职业学院《化工原理(1)》2024-2025学年第一学期期末试卷
- 黑龙江省伊春市嘉荫县第一中学2025年高二上数学期末考试试题含解析
- 山东省济南育英中学2026届高二上数学期末考试试题含解析
- 东北电力大学《大学计算机基础(理工类)》2024-2025学年第一学期期末试卷
- 辽宁省朝阳市建平县建平二中2025年高一生物第一学期期末达标检测试题含解析
- 数字时代传统技艺传播-洞察与解读
- 贵州省贵阳市实验中学2025-2026学年高一物理第一学期期末统考试题含解析
- 邯郸学院《土木工程试验》2024-2025学年第一学期期末试卷
- 以诺书999中英对照
- TCCEAS001-2022建设项目工程总承包计价规范
- 土方开挖、基坑支护施工方案
- 小学信息化培训:AI赋能教学与教师能力提升
- 接触网全参数激光测量仪进行接触网基础数据测量作业62课件
- 学前教育就业前景及方向
- 中国电解石行业市场运行现状及投资战略研究报告
- 旅游景区管理制度大全
- 中考语文说明文阅读训练练习(含答案)
- 房地产开发质量管理职责与规范
- 电力设备维护服务企业的市场定位与营销策略
评论
0/150
提交评论