Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
3 / 3 / 2
Регистрация: 16.12.2011
Сообщений: 21

Проверить, распечатался документ или нет

16.12.2011, 07:34. Показов 2485. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возникла следующая проблема:
хочу обработать отпечатался ли документ или нет. Почитал, вроде нужно использовать EndPrint. Но как то не работает. Можно кто подскажет, желательны примеры.

Часть моей писанины.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Printer { 
printDoc = new PrintDocument();
printDoc.PrintPage += new PrintPageEventHandler(this.printDoc_PrintPage);
PrintPreviewDialog predlg = new PrintPreviewDialog();
predlg.Document = printDoc;
predlg.ShowDialog();
printDoc.Print();
printDoc.EndPrint +=new PrintEventHandler(printDoc_EndPrint);
 
}
 
void printDoc_PrintPage(object sender, PrintPageEventArgs e)
{
Graphics g = e.Graphics;
g.DrawString("",Font, new SolidBrush(Color.Black), 20, 20);
}
 
void printDoc_EndPrint(object sender, PrintEventArgs e)
{
MessageBox.Show("Ура конец печати");
}
Может у меня чего не правильно. Хочу щас вывести пустую страницу и получить сообщение об окончании печати.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2011, 07:34
Ответы с готовыми решениями:

Как проверить, существует ли директория или нет
Доброе время суток. Вот столкнулся с такой задачкой, нужно проверить существует ли директория, если да то поставить галочку на...

Как проверить подключено ли какое нибудь устройство к com порту или нет?
Как проверить подключено ли какое нибудь устройство к com порту или нет?

Алгоритм RC6: при расшифровке проверить, правильный был ключ или нет
После расшифровки файла как его проверить в C# правильный был ключ или нет!!!

7
Мохаммед Али
 Аватар для asd321
131 / 70 / 5
Регистрация: 14.08.2009
Сообщений: 916
16.12.2011, 09:51
не знай чо вы там писали вообщем вот как отправить ан печать а событие отлавливания окончания печати и вуас прописано
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  //отправить на печать
        private void PrintDoc_Click(object sender, EventArgs e)
        {
            if (printDialog1.ShowDialog() == DialogResult.OK)
            {
                PrintDocument def = new PrintDocument();
 
                def.PrintPage += new PrintPageEventHandler(PRD);
                def.DocumentName = "Document1";
                def.PrinterSettings = printDialog1.PrinterSettings;
                def.Print();
            }
        }
 
        //передача графики изображения для печати
        void PRD(object sender, PrintPageEventArgs e)
        {
            Graphics formGraphics = e.Graphics;
            memoryImage = CreateMemoryImage();
             //метод рисования чего либо на листике
            formGraphics.DrawImage(memoryImage,0,0);
 
        }
0
3 / 3 / 2
Регистрация: 16.12.2011
Сообщений: 21
16.12.2011, 10:18  [ТС]
Так это не то, нет необходимости вызывать меню. Нужно просто отослать на печать и получить ответ напечатан или нет.
0
Мохаммед Али
 Аватар для asd321
131 / 70 / 5
Регистрация: 14.08.2009
Сообщений: 916
16.12.2011, 10:35
Цитата Сообщение от Luck999 Посмотреть сообщение
Так это не то, нет необходимости вызывать меню. Нужно просто отослать на печать и получить ответ напечатан или нет.
просто уберите условие if
0
3 / 3 / 2
Регистрация: 16.12.2011
Сообщений: 21
16.12.2011, 10:44  [ТС]
В общем то, что я кинул заработало. Перегрузил студию. Работает след образом:
1.Формируется документ
2.Посылается принтеру на печать(но не печатает)
3.Появляется сообщение, когда нажали кнопку ок. Пошла печать
4.Ну и результат напечатанный.

А да, забыл сказать поменял местами. Теперь так:
C#
1
2
printDoc.EndPrint +=new PrintEventHandler(printDoc_EndPrint);
printDoc.Print();
А если как было изначально. То документ уже шел на печать и инфы о нем нету. В обработку завершения печати printDoc.EndPrint он не входит.

Если есть способ узнать напечатан ли документ по факту выхода листка из принтера, рад был бы услышать.
Пролистал ряд книжек по шарпу. Инфы не особо. В Петцольде про сам итог нечего не нашел.
0
29 / 29 / 8
Регистрация: 13.12.2009
Сообщений: 70
16.12.2011, 10:57
Если хотите организовать работу с принтером и узнавать его статус и т.п. используйте PrintJobStatus...
http://msdn.microsoft.com/en-u... 70685.aspx
1
Мохаммед Али
 Аватар для asd321
131 / 70 / 5
Регистрация: 14.08.2009
Сообщений: 916
16.12.2011, 11:00
вы не можете в конце метода печати просто присвоить значение булевой переменной? зачем извращаться то пытаетесь
C#
1
printDoc.EndPrint +=new PrintEventHandler(printDoc_EndPrint);
у вас что это событие не работает?
1
3 / 3 / 2
Регистрация: 16.12.2011
Сообщений: 21
16.12.2011, 11:08  [ТС]
Цитата Сообщение от Qulis Посмотреть сообщение
Если хотите организовать работу с принтером и узнавать его статус и т.п. используйте PrintJobStatus...
http://msdn.microsoft.com/en-u... 70685.aspx
Спасибо как-то я про это запамятовал.

Добавлено через 3 минуты
Цитата Сообщение от asd321 Посмотреть сообщение
вы не можете в конце метода печати просто присвоить значение булевой переменной? зачем извращаться то пытаетесь
C#
1
printDoc.EndPrint +=new PrintEventHandler(printDoc_EndPrint);
у вас что это событие не работает?
Щас работает. Ну сообщения впоследствии не будет конечно.
Вы предлагаете сразу сделать:
printDoc.print();
bool printed=true;

так???? Но тогда может и не напечататься.

Если имели ввиду убрать сообщения из обработчика окончания печати, то я его уберу и буду возвращаться чтонить типа bool или инта. Еще не решил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2011, 11:08
Помогаю со студенческими работами здесь

Проверить есть такой юзер или нет в таблице
Здрасти! Есть таблица "admins" и два столбика name и pass. НУ и два текст бокса Имя и Пароль. Как проверить текст из текст бокса со...

Проверить, есть ли записи в RecordSet'е или нет.
Здравствуйте! Мне вот такая штука понадобилась: надо проверить, есть ли записи в RecordSet'е или нет. Как мне енту вещь создать??? ...

Как проверить readonly file или нет?
Кто знает как проверить readonly file или нет?

Можно ли проверить, загружена ли УЖЕ картинка или нет?
Допустим, есть в HTML-коде тег <IMG name='Picture1' SRC='1.gif'> Можно ли на клиенте проверить, загружена ли уже эта картинка или...

Как проверить произошли изминение файла на сервере или нет?
Здравствуйте! Столкнулся с проблемой: как при помоще asp.net проверить произошли изминение файла на сервере или нет.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru