打印Winfrom控件实现简陋版的打印(C#)

chatgpt/2023/9/26 13:03:39

本文在前面写的博文基础上进行修改:利用Graphics的CopyFromScreen实现简陋版的打印(C#)_zxy2847225301的博客-CSDN博客

通过截图的方式进行打印在前面的文章后面已经介绍过,有问题。

UI布局如下:

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;namespace winformDemo
{public partial class Form1 : Form{public Form1(){InitializeComponent();this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printDocument1_PrintPage);this.button1.Click += new System.EventHandler(this.button1_Click);}private void button1_Click(object sender, EventArgs e){printPreviewDialog1.Document = printDocument1;printPreviewDialog1.ShowDialog();}private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e){PrintToGraphics(e.Graphics, e.MarginBounds);}public void PrintToGraphics(Graphics graphics, Rectangle bounds){Bitmap bitmap = new Bitmap(this.Width, this.Height);this.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));Rectangle target = new Rectangle(0, 0, bitmap.Width, bitmap.Height);graphics.PageUnit = GraphicsUnit.Display;graphics.DrawImage(bitmap, target);}}
}

运行结果如下:

把Form1窗体往任务栏方向挪动,不会出现前面博文中说的那个问题,如下图:

 

好了,本水文到此结束。后面还有继续深入研究的,如打印单个控件TextBox,Button,还有实现分页打印等

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-5313135.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

FlinkSql维表join之Temporal table join

什么是维表join? 对于每条流式数据,可以关联一个外部维表数据源,为FlinkSql实时计算提供数据关联查询。 说明: 维表是一张不断变化的表,在维表JOIN时,需指明该条记录关联维表快照的时刻。维表JOIN仅支持对…

sql group by 加条件

在SQL中,可以在GROUP BY子句中加入条件,以进一步过滤结果。你可以使用HAVING子句来添加条件。HAVING子句的使用方式类似于WHERE子句,但不同的是,它用于对GROUP BY子句生成的分组进行过滤。 以下是一个示例,演示如何在…

目标检测中 anchor base和anchor free

目标检测中两种不同anchor的生成 趋势:anchor free越来越受到实时性检测的青睐,,,

基于双 STM32+FPGA 的桌面数控车床控制系统设计

桌 面数控 设 备 对 小 尺寸零件加工在成 本 、 功 耗 和 占 地 面 积等方 面有 着 巨 大 优 势 。 桌 面数控 设 备 大致 有 3 种 实 现 方 案 : 第 一种 为 微 型 机 床搭 配 传统 数控系 统 , 但 是 桌 面数控 设 备 对 成 本 敏感 ; 第二 种 为 基 于 PC…

生成对抗网络DCGAN学习实践

在AI内容生成领域,有三种常见的AI模型技术:GAN、VAE、Diffusion。其中,Diffusion是较新的技术,相关资料较为稀缺。VAE通常更多用于压缩任务,而GAN由于其问世较早,相关的开源项目和科普文章也更加全面&#…

idea application.yml配置文件没有提示或读不到配置

1.首先确定你的resources文件夹正常且yml文件图表和下面一样 不一样的右键去设置 2.确保你已经缩进了且层级关系正常 3.如果以上都不是,先考虑删除.idea重开试试 4.以上解决不了就装以下两个插件解决

职工管理系统(code)

首先创建头文件、源文件&#xff0c;再编程。&#xff08;B站黑马程序员视频笔记&#xff09; 一、头文件.h 1、boss.h #pragma once #include<iostream> using namespace std; #include "worker.h"//老板类 class Boss :public Worker { public://构造函数B…

text-generation-webui 笔记

聊天参数 最大新令牌数 max_new_tokens 给定的提示令牌数量意味着在不忽略它们的情况下要生成的最大令牌数量。 简单来说&#xff0c;就是答案的长度。 最大提示大小&#xff08;以标记为单位&#xff09; 用于提示的最大令牌数。 简单来说&#xff0c;就是模型的记忆。除…
推荐文章