因此,我正在处理一个需要打印的表单。我想用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的microsoft帮助数据库也没有帮助,因为我已经完全按照它所说的做了,但仍然得到路径为空错误
编辑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的成员”。根据微软的说法,我尝试使用下面的代码,这是它应该工作的方式。我不知道错误从何而来
.Print(Me, PowerPacks.Printing.PrintForm.PrintOption.ClientAreaOnly) 发布于 2017-10-16 23:32:04
使用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
发布于 2017-10-17 19:40:13
要预览您的打印,您不需要使用printdialog和所有这些。您只需在设计器中单击printform1,即可打开printform1的属性窗口。在打印操作中,您可以选择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结束类
https://stackoverflow.com/questions/46770799
复制相似问题