ahmed_sa Ответов: 1

Как предотвратить печать, когда существует отображение данных в объект DataTable, используя окно предварительного просмотра и распечатать документ ?


Проблема
How to prevent print when display data Exist on datatable using printpreview dialog and print document ?
?

Я работаю над приложением csharp, работающим в visual studio 2015 .

У меня есть данные на datatable и показать, что эти данные существуют на datatable, когда нажмите кнопку печати

но проблема в том, что он печатает, когда нажимает кнопку печати и печать выполняется на принтере по умолчанию
что мне нужно, так это запретить печать данных и не разрешать пользователю печатать данные при отображении в форме windows ?

могу я это сделать пожалуйста

Что я уже пробовал:

private void button1_Click(object sender, EventArgs e)
        {
            
            PrintDocument document = new PrintDocument();
            
            document.PrintPage += new PrintPageEventHandler(document_PrintPage);
            

            PrintPreviewDialog ppDialog = new PrintPreviewDialog();
            ((ToolStripButton)((ToolStrip)ppDialog.Controls[1]).Items[0]).Enabled = false;
            ppDialog.Document = document;
           
            ppDialog.Show();
           
        }

1 Ответов

Рейтинг:
1

OriginalGriff

Это, кажется, не имеет никакого реального смысла: ваше приложение контролирует печать, и с помощью PrintDocument вы контролируете, когда он печатается, и именно то, что печатается. Ничего не печатается, пока вы не вызовете myPrintDocumentInstance.метод Print.

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

Другие способы, которые вы не можете предотвратить: если пользователь может прочитать его, он находится на экране - и экран может быть привязан и напечатан, отредактирован или сохранен на диске в виде растрового изображения. Вы не можете этого предотвратить.