如何检查PrintDialog.AllowCurrentPage的值?

时间:2009-07-13 14:59:48

标签: c# .net printing

我有一个printdialog,我会执行以下操作:

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

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

但是,我有没有线索,其中.AllowCurrentPage的对应属性是。它应该在intellisense中,但至少在文档中,它不是。 (事实上​​,PrintDialog的文档指出我的上面的代码应该抛出一个异常,因为它没有设置.PrintSettings,它没有。)后续的谷歌搜索没有任何结果。

2 个答案:

答案 0 :(得分:2)

找到它。它隐藏在这里:

PrintDialog.PrinterSettings.PrintRange

这是一个枚举,因此intellisense没有在第一次通过时提示我任何有用的东西。如果记录在.AllowCurrentPage上,那真的是真的很好。

答案 1 :(得分:0)

此枚举是System.Drawing.Printing.PrintRange

可能性是:

  • .AllPages
  • .CurrentPage
  • .Selection
  • .SomePages

当我试图找出选择了哪个RadioButton时发现了这个。 我想要当前的页面,所以我必须这样做:

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

设置方式不是很直观。