【问题标题】:Page orientation in print dialog does not persists the setting打印对话框中的页面方向不保留设置
【发布时间】:2012-09-07 16:05:48
【问题描述】:

我正在做一个 VB 3.0 到 .Net 的转换项目,其中有一些打印活动。

现在为用户提供了一个打印设置对话框,用户可以在其中设置打印机的页面方向和其他设置。

这里的问题是,从 .net printdialog 设置页面方向时,一旦应用程序关闭并再次打开,它似乎总是会重置。 换句话说,用户打开应用程序,将打印方向从纵向设置为横向,进行一些打印并关闭应用程序。现在,当重新打开应用程序时,打印方向又是portrait了!!(而用户期望它是横向的)。

在 vb 3.0 中使用了带有一些标志的 commondialog,并且运行良好。

谁能指导一下。

感谢任何帮助。

【问题讨论】:

    标签: c# .net vb.net winforms


    【解决方案1】:

    我不确定 VB3,但你确定它没有在某处保存该设置吗?

    您可以在代码中设置打印方向。

    PrintDialog pDialog = new PrintDialog();
    pDialog.PrintTicket.PageOrientation = PageOrientation.Lanscape;
    

    您还应该能够捕捉到用户是否更改了打印对话框上的方向,以便您可以保存他们选择的选项。

    pDialog.PrintTicket.PropertyChanged += new PropertyChangedEventHandler(PrintPropertyChanged);
    
    private void PrintPropertyChanged(object sender, EventArgs e){
        PageOrientation SelectedPageOrientation = pDialog.PrintTicket.PageOrientation;
        //save the orientation, or save the entire PrintTicket if you want.
    }
    

    (我没有对此进行测试,但应该非常接近。)

    【讨论】:

    • 我把它放在 C#.NET 代码中,因为你在问题上有 C# 标记。如果你需要 VB.NET,你可以转换它。我不知道 VB.NET 的所有语法。
    • 除了 printdialog.showdialog() 之外,VB3.0/VB.net 中没有为此目的编写任何代码行,VB3.0 不会将设置保存在任何地方。一旦用户关闭应用程序并重新登录,这将不起作用。我还注意到 VB3 的打印设置对话框与 VB.net 不同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多