我在C# 中进入打印预览界面 我要如何获得打印预览中的打印事件呢? 我需要通过他来改变我 数据库中 是否打印的状态 求指教
1条回答 默认 最新
- ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-20 12:30关注
该回答引用ChatGPT
要获取打印预览中的打印事件,您可以使用PrintDocument类并在其PrintPage事件中处理要打印的内容。在此事件中,您可以访问打印预览中显示的页面,并在打印操作完成后执行一些操作。
以下是一个示例代码片段,演示如何使用PrintDocument类在打印预览中进行打印并在打印完成后更改数据库中的打印状态:
private PrintDocument printDoc = new PrintDocument(); private void PrintPreviewButton_Click(object sender, EventArgs e) { PrintPreviewDialog printPreview = new PrintPreviewDialog(); printDoc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage); printPreview.Document = printDoc; printPreview.ShowDialog(); } private void printDoc_PrintPage(object sender, PrintPageEventArgs e) { // 在这里处理要打印的内容 // 更改数据库中打印状态的代码 // ... // 检查是否还有更多页面要打印 if (/*还有更多页面*/) { e.HasMorePages = true; } else { e.HasMorePages = false; } }
在上面的示例代码中,当用户单击打印预览按钮时,PrintPreviewButton_Click事件处理程序将创建一个PrintPreviewDialog对象并将PrintDocument对象分配给它。在PrintDocument对象的PrintPage事件处理程序中,您可以处理要打印的内容并更改数据库中的打印状态。如果仍有其他页面要打印,则将HasMorePages属性设置为true,否则将其设置为false。
请注意,您需要将代码中的数据库更新逻辑替换为您自己的逻辑,并根据需要更改其他代码以满足您的具体要求。
解决 无用评论 打赏 举报
悬赏问题
- ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
- ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能