我有这段代码:
Private printDocument1 As New PrintDocument()
Private stringToPrint As String
Private Sub ReadFile()
Dim docName As String = "print_doc.rtf"
Dim docPath As String = fsPathPrintDoc
printDocument1.DocumentName = docName
Dim stream As New FileStream(docPath + docName, FileMode.Open)
Try
Dim reader As New StreamReader(stream)
Try
stringToPrint = reader.ReadToEnd()
Finally
reader.Dispose()
End Try
Finally
stream.Dispose()
End Try
End Sub
我使用以下方式进行打印:
ReadFile()
printDocument1.Print()
我想使用VB.NET printdialog.show()
打印rtf文件,因为想要选择特定的打印机进行打印,但我上面的代码我不知道,我怎么能嵌入printdialog
这里。
这是必需的,因为我想使用网络上不同系统上可用的打印机打印该文件。现在所有这些可用的打印机都可以在打印对话框中使用,我想要的是使用printdialog()
另外,我试图找到使用printdialog
和printdocument
打印文件的可能性,但遗憾的是失败了。
修改
我找到http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx但不包括printdialog
答案 0 :(得分:1)
您将PrintDocument分配给PrintDialogs Document属性,然后将所选的打印机添加到您的文档中。然后,您可以正常打印文档。
PrintDialog1.AllowSomePages = True
PrintDialog1.ShowHelp = True
PrintDialog1.Document = printDocument1 'Assign your Document here
Dim result As DialogResult = PrintDialog1.ShowDialog()
If (result = DialogResult.OK) Then
printDocument1.Print()
End If