首页 > 解决方案 > 如何获取选定的页码以仅打印 PrintRange.Selection 中的选定页面?

问题描述

我正在 VB.NET 中开发一个数据库应用程序。我有多页报告,例如 10 页。

我只想打印几页,而不是全部。例如,我想在选择“打印”对话框的文本框中选择第3、5和8页,而选择(无线电按钮)选项。如何在代码中访问这些页码以编写代码以仅打印 PrintDocument_PrintPage() 中的指定页面?默认情况下,它会打印所有页面......看起来.Net Framework 本身并不处理选定的页面。所以我们需要在 PrintRange.Selection 条件下做一些编码。

打印对话框的屏幕截图

我的代码是....

Dim intCurrentPage As Integer = 1

Private Sub PrintDocument_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PrintDocument.PrintPage 

If PrintDocument.PrinterSettings.PrintRange = PrintRange.AllPages Then

    'Code for printing All Pages

 **ElseIf PrintDocument.PrinterSettings.PrintRange = PrintRange.Selection Then**

     'Code for printing Only Selected Pages
     **'Here I Want Your Help... What is the method or function that returns the selected page numbers
     'in an Integer Array so that you can use some logic like this**

      Dim intOneOfSelectedPages() as Integers

      intOneOfSelectedPages = GetSelectedPages() 'Get All Selected Pages 

      For index = 0 To intOneOfSelectedPages.Length -1

          If intCurrentPage = intOneOfSelectedPages(index) Then

            'Code For Printing Current Page
         End If 
      Next

     intCurrentPage +=1

**End If**

End Sub

如果有人知道在打印对话框中访问选定页面的方法,请告诉我!

标签: vb.net

解决方案


推荐阅读