Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 打印多个文档时,第一个文档会转到错误的打印机_.net_Vb.net_Printing - Fatal编程技术网

.net 打印多个文档时,第一个文档会转到错误的打印机

.net 打印多个文档时,第一个文档会转到错误的打印机,.net,vb.net,printing,.net,Vb.net,Printing,我必须以编程方式创建和打印多个文档(标签)。我的代码创建并正确打印除第一个标签外的所有标签;将发送到默认打印机,而不是指定的打印机。有人知道这个问题的解决方法吗 Do While .... txt = sometext PrintDocument1.Print() Loop Private Sub PrintDocument1_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs)

我必须以编程方式创建和打印多个文档(标签)。我的代码创建并正确打印除第一个标签外的所有标签;将发送到默认打印机,而不是指定的打印机。有人知道这个问题的解决方法吗

Do While ....
txt = sometext
PrintDocument1.Print()
Loop

Private Sub PrintDocument1_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim prFont As New Font("Arial Narrow", 19, FontStyle.Bold)
Dim format As New StringFormat
format.Alignment = StringAlignment.Center

e.PageSettings.PrinterSettings.PrinterName = "\\TLN-CESDC2\TLN2-41-LABEL"
e.PageSettings.Margins.Bottom = 20
e.PageSettings.Margins.Left = 0
e.PageSettings.Margins.Right = 0
e.PageSettings.Margins.Top = 20
e.Graphics.DrawString(txt, prFont, Brushes.Black, 200, 15, format)
End Sub

在启动循环之前,请尝试设置打印机:

PrintDocument1.PrinterSettings.PrinterName = "\\TLN-CESDC2\TLN2-41-LABEL"
Do While ....
  txt = sometext
  PrintDocument1.Print()
Loop

请参见

此操作非常有效。这似乎是一个更正确的方法,因为我只设置打印机一次,而不是几十次。