Выбор принтера и поля настроек страницы с компонентом printform

Как добавить диалоговое окно выбора принтера и как контролировать поля страницы? Я пробовал очень много вещей в коде (коды документов печати работают, но они не показывают мою форму), но они не работали. Я использую этот код для печати формы:

With Me.PrintForm1
    .PrintAction = Printing.PrintAction.PrintToPreview
    .Print(Me, PowerPacks.Printing.PrintForm.PrintOption.ClientAreaOnly)
End With

Me.Close()

Он работает, но не требует выбора принтера, и я не могу контролировать поля.

Спасибо

1 ответ

Решение

Я наконец нашел решение, вот оно:

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 = 40
                .Right = 40
                .Top = 40
                .Bottom = 40
            End With

            .PrinterSettings.DefaultPageSettings.Margins = MyMargins

            PrintForm1.DocumentName = notasyon_lbl.Text
            .Print(Me, PowerPacks.Printing.PrintForm.PrintOption.CompatibleModeClientAreaOnly)

        End With

    End If

Спасибо, в любом случае.

Другие вопросы по тегам