что я хочу, когда я печатаю документ (который является записью в базе данных), этот документ больше не может обновляться пользователем, поэтому я подумал, что только если я могу захватить событие печати и установить поле печати в true для этой записи, поэтому, когда пользователь пытается обновить операцию, будет отменен. У вас есть идеи, как это сделать? БлагодаряCatch Печать события в C# .net?
ответ
Вы можете сделать это так:
void PrintDocument(IDocument document)
{
if (document.IsPrinted)
{
return;
}
// now print the document
document.IsPrinted = true;
SaveDocument(document);
}
Если вы хотите более разумный код, или не знаю, как реализовать это в вашем проекте, возможно, ваш соответствующий код и части вы испытываете проблемы с поможет.
@kostasch. Я не знаю, что вы имеете в виду, этот код ничего не печатает, в нем изложена общая идея разрешить действие только один раз на основе флага, который где-то хранится. OP не может напрямую использовать этот код, но учиться на идее. – CodeCaster
Да, я прав, я изменю свой комментарий. Но этот фрагмент кода относится к серверу. Если клиент делает печать, вы не можете поймать событие через вышеописанное. –
Затем OP должен спросить: «Как я могу запретить пользователю печатать что-либо из браузера» _, на который отвечает _ «Вы не» _. – CodeCaster
Увидев ваши теги (в частности, 'asp.net'), я предполагаю, что вам нужно это событие, чтобы как-то исходить от пользователя, у которого запись открыта на веб-странице, а затем распечатывает страницу с помощью браузера? –
Печать на веб-клиенте намного сложнее. Способы, которые я знаю и реализую для печати и других подобных ошибок, - это throute silverlight или activex. Эти вещи, конечно, они играют на. –