将打印方向设置为横向

Kao*_*oru 6 c# printing winforms

我已经可以创建一个打印来打印我的Windows窗体中的文件.但是,每当我添加此代码时:

printDialog.PrinterSettings.DefaultPageSettings.Landscape = true;
Run Code Online (Sandbox Code Playgroud)

我看不到页面的Orientation成为LandScape,它仍然是Portrait.

如何将LandScape设为默认值?因此,每当我单击PrintPreview或PrintFile时,页面的方向将变为LandScape,而不是Portrait.

这是代码:

private void PrintPreview(object sender, EventArgs e)
{
    PrintPreviewDialog _PrintPreview = new PrintPreviewDialog();
    _PrintPreview.Document = printDocument1;
    ((Form)_PrintPreview).WindowState = FormWindowState.Maximized;
    _PrintPreview.ShowDialog();
}

private void PrintFile(object sender, EventArgs e)
{
    PrintDialog printDialog = new PrintDialog();
    printDialog.Document = printDocument1;
    printDialog.UseEXDialog = true;

    if (DialogResult.OK == printDialog.ShowDialog())
    {
        printDocument1.DocumentName = "Test Page Print";
        printDocument1.Print();
    }
}
Run Code Online (Sandbox Code Playgroud)

Kur*_*ran 19

尝试设置LandscapePrintDocument如下,

printDocument1.DefaultPageSettings.Landscape = true;
Run Code Online (Sandbox Code Playgroud)

  • 很好 请注意,“ printDocument1.PrinterSettings.DefaultPageSettings.Landscape = true;”无效。确保您拥有正确的答案,而不是使用“ PrinterSettings”。 (2认同)