首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.net Printform无法找到路径

VB.net Printform无法找到路径
EN

Stack Overflow用户
提问于 2017-10-16 20:51:40
回答 2查看 602关注 0票数 0

因此,我正在处理一个需要打印的表单。我想用Foxit PDF打印机生成一个PDF文件。问题是我不知道如何获取选定的路径作为文件位置,所以我总是得到一个路径不能为空的信息。错误。在使用Printform时,我应该把文件位置放在代码的什么地方?在这段代码中,foldername是我想要打印的位置。

代码语言:javascript
复制
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

编辑:

实际上删除了代码的一部分,仍然得到相同的错误(第一部分没有开始做任何事情,我知道)。我现在要做的就是:

代码语言:javascript
复制
Private Sub BtnPrint_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles BtnPrint.Click

    PrintForm1.Print()

End Sub

此外,有关Printform的microsoft帮助数据库也没有帮助,因为我已经完全按照它所说的做了,但仍然得到路径为空错误

编辑2:所以我现在正在使用这段代码,它正在工作。

代码语言:javascript
复制
 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的成员”。根据微软的说法,我尝试使用下面的代码,这是它应该工作的方式。我不知道错误从何而来

代码语言:javascript
复制
.Print(Me, PowerPacks.Printing.PrintForm.PrintOption.ClientAreaOnly)  
EN

回答 2

Stack Overflow用户

发布于 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

票数 0
EN

Stack Overflow用户

发布于 2017-10-17 19:40:13

要预览您的打印,您不需要使用printdialog和所有这些。您只需在设计器中单击printform1,即可打开printform1的属性窗口。在打印操作中,您可以选择PrintToPreview。这就是它所需要的一切。以下是我需要的所有代码行:

代码语言:javascript
复制
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

结束类

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46770799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档