C# winform 打印当前窗体
时间: 2023-09-07 19:14:43 浏览: 90
C# winform 万能打印模板,可以打印证书,修改证书参数,C#窗体程序
5星 · 资源好评率100%
你可以使用 .NET Framework 提供的 PrintForm 类来实现在 C# WinForms 中打印当前窗体。下面是一个简单的示例代码:
```csharp
private void btnPrint_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(PrintPage);
PrintDialog printDialog = new PrintDialog();
printDialog.Document = pd;
if (printDialog.ShowDialog() == DialogResult.OK)
{
pd.Print();
}
}
private void PrintPage(object sender, PrintPageEventArgs e)
{
Bitmap bm = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(bm, new Rectangle(0, 0, this.Width, this.Height));
e.Graphics.DrawImage(bm, 0, 0);
}
```
在上面的代码中,我们使用 PrintDocument 类创建一个打印文档,然后使用 PrintDialog 类创建一个打印对话框,让用户选择打印机和其他设置。当用户点击“打印”按钮时,我们调用 pd.Print() 方法来开始打印。
在 PrintPage 事件处理程序中,我们首先创建了一个与当前窗体相同大小的位图,然后使用 DrawToBitmap 方法将当前窗体绘制到该位图上。最后,我们使用 Graphics 类的 DrawImage 方法将位图绘制到打印页面上。
阅读全文