所以我正在处理需要打印的表格。我想用Foxit PDF打印机最终得到一个PDF文件。问题是我无法弄清楚如何将选定的路径作为文件位置,所以我不断得到一个路径不能为空。 错误。在使用Printform时我应该在代码中放置文件位置? 在此代码中,foldername是我想要打印的位置。
Private Sub BtnPrint_Click(sender As Object, e As EventArgs) Handles BtnPrint.Click
Dim folderDlg As New FolderBrowserDialog
Dim foldername As String
folderDlg.ShowNewFolderButton = True
If (folderDlg.ShowDialog() = DialogResult.OK) Then
foldername = folderDlg.SelectedPath
Dim root As Environment.SpecialFolder = folderDlg.RootFolder
End If
PrintForm1.Print()
End Sub
编辑:
实际上删除了部分代码并仍然得到相同的错误(第一部分没有做任何事情开始我知道)。我现在使用的是:
Private Sub BtnPrint_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles BtnPrint.Click
PrintForm1.Print()
End Sub
关于Printform的微软帮助数据库也没有帮助,因为我已经完成了它所说的并且仍然得到Path是Null错误
编辑2: 所以我现在正在使用这个代码,它正在运行。
Private Sub BtnPrint_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles BtnPrint.Click
PrintDialog1.PrinterSettings = PrintForm1.PrinterSettings
PrintDialog1.AllowSomePages = True
If PrintDialog1.ShowDialog = DialogResult.OK Then PrintForm1.PrinterSettings = PrintDialog1.PrinterSettings
With Me.PrintForm1
.PrintAction = Printing.PrintAction.PrintToPreview
Dim MyMargins As New Margins
With MyMargins
.Left = 10
.Right = 10
.Top = 10
.Bottom = 10
End With
.PrinterSettings.DefaultPageSettings.Margins = MyMargins
.Print()
End With
End Sub
但是一旦我尝试设置它应该打印的区域,我就会收到以下错误:"打印不是powerpacks的成员"。我尝试使用以下代码根据microsoft这是应该工作的方式..我不知道错误来自哪里
.Print(Me, PowerPacks.Printing.PrintForm.PrintOption.ClientAreaOnly)
答案 0 :(得分:0)
您不需要使用printform的路径。 Printform只是将您在屏幕上看到的内容打印到默认打印机。您需要安装" Visual Basic PowerPacks"使用此命令。您可以在此处找到更多解释: https://docs.microsoft.com/en-us/dotnet/visual-basic/developing-apps/printing/how-to-print-a-form-by-using-the-printform-component
答案 1 :(得分:0)
要预览您的打印件,您不需要使用printdialog等所有这些。您只需单击设计器中的printform1,即可启动printform1的属性窗口。在printaction中,您选择PrintToPreview。这就是它所需要的一切。 以下是我需要的所有内容:
Public Class Form1
Private Sub Exit_Click(sender As Object, e As EventArgs) Handles Button2.Click
Application.Exit()
End Sub
Private Sub Print_Click(sender As Object, e As EventArgs) Handles Button1.Click
PrintForm1.Print()
End Sub
结束班