2013-06-10 1 views
0

что я хочу, когда я печатаю документ (который является записью в базе данных), этот документ больше не может обновляться пользователем, поэтому я подумал, что только если я могу захватить событие печати и установить поле печати в true для этой записи, поэтому, когда пользователь пытается обновить операцию, будет отменен. У вас есть идеи, как это сделать? БлагодаряCatch Печать события в C# .net?

+1

Увидев ваши теги (в частности, 'asp.net'), я предполагаю, что вам нужно это событие, чтобы как-то исходить от пользователя, у которого запись открыта на веб-странице, а затем распечатывает страницу с помощью браузера? –

+0

Печать на веб-клиенте намного сложнее. Способы, которые я знаю и реализую для печати и других подобных ошибок, - это throute silverlight или activex. Эти вещи, конечно, они играют на. –

ответ

1

Вы можете сделать это так:

void PrintDocument(IDocument document) 
{ 
    if (document.IsPrinted) 
    { 
     return; 
    } 

    // now print the document 

    document.IsPrinted = true; 

    SaveDocument(document); 
} 

Если вы хотите более разумный код, или не знаю, как реализовать это в вашем проекте, возможно, ваш соответствующий код и части вы испытываете проблемы с поможет.

+0

@kostasch. Я не знаю, что вы имеете в виду, этот код ничего не печатает, в нем изложена общая идея разрешить действие только один раз на основе флага, который где-то хранится. OP не может напрямую использовать этот код, но учиться на идее. – CodeCaster

+0

Да, я прав, я изменю свой комментарий. Но этот фрагмент кода относится к серверу. Если клиент делает печать, вы не можете поймать событие через вышеописанное. –

+0

Затем OP должен спросить: «Как я могу запретить пользователю печатать что-либо из браузера» _, на который отвечает _ «Вы не» _. – CodeCaster