我根据选择设置了默认纸张尺寸。
但它总是使用打印机默认值而不是我选择的打印机。
If papel_cmb.SelectedItem = "et" Then
PrintDocument1.PrinterSettings.DefaultPageSettings.PaperSize = PrintDocument1.PrinterSettings.PaperSizes.Item(papel_cmb.SelectedIndex)
ElseIf papel_cmb.SelectedItem = "etc" Then
PrintDocument1.PrinterSettings.DefaultPageSettings.PaperSize = PrintDocument1.PrinterSettings.PaperSizes.Item(papel_cmb.SelectedIndex)
End If
PrintDocument1.Print()
在这里,我得到了所有的文件。我只在组合框上写了纸质名称,因此它更加用户友好,但纸张大小存储在一个数组中。
Dim pnome As String
Dim i As Integer
i = 0
If impre.SelectedItem <> "" Then
papel_cmb.Items.Clear()
PrintDocument1.PrinterSettings.PrinterName = impre.SelectedItem
ReDim papeis(PrintDocument1.PrinterSettings.PaperSizes.Count)
For Each papel As PaperSize In PrintDocument1.PrinterSettings.PaperSizes
pnome = papel.PaperName
If Not papel_cmb.Items.Contains(pnome) Then
papel_cmb.Items.Add(pnome)
papeis(i) = papel
i += 1
End If
Next
papel_cmb.SelectedItem = PrintDocument1.PrinterSettings.DefaultPageSettings.PaperSize.PaperName
papel_cmb.Enabled = True
End If