Как узнать сколько раз был напечатан отчет.

SP7SP7
отредактировано May 2012 Раздел: FastReport .NET
Всем привет. Подскажите пожалуйста, как узнать реальное количество раз сколько был напечатан отчет.

Что я имею ввиду. Для подсчета того, сколько был раз напечатан отчет, поступаю следующим образом:
    public partial class Form2 : Form
    {

        PassReport report = new PassReport (); // объект, представляющий отчет
        int i = 1; // сколько раз напечатан отчет
        
        public Form2()
        {
            InitializeComponent();
            report .Preview = previewControl1;
            report .Show();
        }
        
        
        private void button1_Click(object sender, EventArgs e)
        {
             report .Print();
             label1.Text = string.Format("Напечатан {0} раз", i);
             i++; // увеличиваем на 1, при каждом нажатии на кнопку печати.
        }
   }

Но данный подход, не гарантирует точности. Поскольку при вызове метода Report.Print() и появлении окна печати, пользователь может в последний момент отказать печатать, и нажать "Отмена", но при этом счетчик печати все-равно увеличится, хотя по сути отчет небыл напечатан.

Поэтому, меня собственно интересует, как узнать реальное количество раз, сколько был напечатан отчет, т.е. когда он был отправлен на принтер и затем распечатан.

Комментарии

  • отредактировано 01:47
    Здравствуйте,

    Подпишитесь на событие FastReport.Utils.Config.ReportSettings.ReportPrinted.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.