Как проверить значение PrintDialog.AllowCurrentPage? - PullRequest
1 голос
/ 13 июля 2009

У меня есть printdialog, с которым я делаю следующее:

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

После того, как пользователь нажал OK, мне нужно посмотреть, подсвечена ли кнопка «Текущая страница» или «Все страницы», чтобы я мог ... черт возьми ... распечатать все страницы или только текущую страницу.

Однако у меня есть без понятия , где находится соответствующее свойство для .AllowCurrentPage. Это должно быть в intellisense, но, по крайней мере, в документации, которой это не так. (На самом деле, в документации для PrintDialog отмечается, что мой приведенный выше код должен выдавать исключение, так как он не устанавливает .PrintSettings, чего не происходит.) Последующий поиск в Google ничего не дал.

Ответы [ 2 ]

2 голосов
/ 13 июля 2009

Нашел это. Здесь спрятано:

PrintDialog.PrinterSettings.PrintRange

Это перечисление, поэтому intellisense не подскажет мне ничего полезного в моем первом проходе. Было бы действительно, действительно хорошо, если бы это было задокументировано на .AllowCurrentPage.

0 голосов
/ 27 декабря 2014

Перечисление это в System.Drawing.Printing.PrintRange

Возможности:

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

Обнаружил это, когда пытался выяснить, какая кнопка RadioButton была выбрана. Я хотел текущую страницу, поэтому я должен был сделать:

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

Не очень интуитивно понятно, как они настроены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...