代码之家  ›  专栏  ›  技术社区  ›  Thanatos

如何检查printDialog.allowCurrentPage的值?

  •  1
  • Thanatos  · 技术社区  · 15 年前

    我有一个打印对话框,可以使用它执行以下操作:

    PrintDialog pd = new PrintDialog();
    pd.AllowCurrentPage = true;
    pd.UseEXDialog = true;
    if (pd.ShowDialog() == DialogResult.OK) {
    

    一旦用户点击OK,我需要看看“当前页面”或“所有页面”按钮是否突出显示,以便我可以…天哪…打印所有页或仅打印当前页。

    然而,我有 没有线索 其中.allowcurrentpage的相应属性为。它应该是智能的,但至少在文档中不是。(事实上,printDialog的文档注意到我上面的代码应该抛出一个不设置.printsettings的异常,它没有。)随后的谷歌搜索没有发现任何东西。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Thanatos    15 年前

    找到它了。它隐藏在这里:

    PrintDialog.PrinterSettings.PrintRange
    

    这是一个枚举,所以IntelliSense在我第一次通过时没有提示我任何有用的东西。真的, 真的? 如果这是在.allowcurrentpage上记录的,那就太好了。

        2
  •  0
  •   sjaime    10 年前

    此项的枚举位于 System.Drawing.Printing.PrintRange

    可能性包括:

    • 全书
    • 当前页面
    • 选择
    • 肢体动作

    当我试图找出哪个单选按钮被选中时发现了这个。 我想要当前页面,所以我必须:

    Boolean curPage = (printDialog1.PrinterSettings.PrintRange == System.Drawing.Printing.PrintRange.CurrentPage);
    

    他们设置的方式不是很直观。