C# 以横向模式打印当前活动窗口

C# 以横向模式打印当前活动窗口,c#,winforms,printing,landscape,powerpacks,C#,Winforms,Printing,Landscape,Powerpacks,我想用C#打印当前活动的WinForm。以下是我所拥有的: using Microsoft.VisualBasic.PowerPacks.Printing; PrintForm p = new PrintForm(this); p.Print(); 这对于纵向模式非常有效。如何在横向模式下打印?如果您在VB中执行此操作,那么您需要以方向为例 如果是C#我相信你可以进行转换 If p.Height > p.Width { p.Orientation = 1;//vbPRORPo

我想用C#打印当前活动的
WinForm
。以下是我所拥有的:

using Microsoft.VisualBasic.PowerPacks.Printing;

PrintForm p = new PrintForm(this);
p.Print();

这对于纵向模式非常有效。如何在横向模式下打印?

如果您在VB中执行此操作,那么您需要以方向为例

如果是C#我相信你可以进行转换

If p.Height > p.Width 
{
    p.Orientation = 1;//vbPRORPortrait
}
Else
{
    p.Orientation = 2; //vbPRORLandscape
}
p.Print();
这行吗

PrintForm p = new PrintForm(this);
p.PrinterSettings.DefaultPageSettings.Landscape = true;
p.Print();

我在谷歌上搜索了一下,发现这个p>方向在C#中是不可用的,如果你使用的是Microsoft.VisualBasic.PowerPacks.Printing;这意味着您正在使用VisualBasic程序集,并且应该能够获取该属性..常量值:vbPRORPortrait=1,vbPRORLandscape=2