所以我正在处理需要打印的表单。我想最终使用Foxit PDF打印机的PDF文件。问题是,我不知道如何获取选定的路径作为文件位置,所以我不断得到一个路径不能为空。 错误。在使用Printform时,我应该在代码中放置文件位置? 在此代码中,文件夹名称是我要打印的位置。VB.net Printform找不到路径
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
编辑:
实际删除代码的一部分,仍然得到同样的错误(第一部分wasnt做任何事情先从我知道)。所有我现在使用的是:
Private Sub BtnPrint_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles BtnPrint.Click
PrintForm1.Print()
End Sub
约Printform也是微软帮助数据库心不是帮助,因为我已经做正是它说,仍然获得路径为空错误
编辑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)
我不知道如何'.PRINT()'工作 - 是使用它'root'?你确定DialogResult返回True吗?你有调试过吗?我认识福昕,但我不确定它在这里如何使用 - 这是一个API /库吗? –
Printform.print()工作,我得到对话框来选择打印机,并在打印机的属性中,我可以选择路径,但只要我按下打印,我得到没有选择路径的错误。 Foxit只是我正在使用的实际打印机,而且当我选择实际的物理打印机时,我也遇到同样的错误。 –
好的,但我不明白打印机如何知道上面设置的路径是它打算使用的路径。你可能会发布更多的代码?我真的建议在代码中放置断点,并至少获取失败位的内部异常和/或堆栈跟踪。 –