c# - 如何打印带有图片框和标签的面板?
问题描述
我有一个Panel
正好有 4 个图片框,里面有标签。我想打印里面的所有内容,Panel
但它只显示两个图片框 - 在预览中。
我有这个:
但它只显示这个(当我点击打印按钮时):
这是我的打印代码:
private void BtnPrint_Click(object sender, EventArgs e)
{
Print(this.pnlID);
}
public void Print(Panel pnl)
{
PrinterSettings ps = new PrinterSettings();
pnlID = pnl;
GetPrintArea(pnl);
prntprvw.Document = printdoc;
printdoc.PrintPage += new PrintPageEventHandler(printdoc_printpage);
prntprvw.ShowDialog();
}
public void printdoc_printpage(Object sender, PrintPageEventArgs e)
{
Rectangle pagearea = e.PageBounds;
e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (this.pnlID.Width / 2), this.pnlID.Location.Y);
}
Bitmap MemoryImage;
public void GetPrintArea(Panel pnl)
{
MemoryImage = new Bitmap(pnl.Width, pnl.Height);
//Rectangle rect = new Rectangle(0, 0, pnl.Width, pnl.Height);
pnl.DrawToBitmap(MemoryImage, new Rectangle(0, 0, pnl.Width, pnl.Height));
}
如何打印面板内的所有内容?
解决方案
推荐阅读
- questdb - 如何自动删除 QuestDB 中的日志文件?
- c++ - 使用固定大小提升多精度整数保持基本类型行为
- reactjs - 在获取请求中隐藏 API 密钥
- c - C 二维数组类
- javascript - JS检查嵌套数组是否与另一个数组具有相同的值
- javascript - 将数据写入其帐户后重定向用户
- c++ - 当 C++ 中涉及继承时,模板有何特别之处?
- typescript - 用于推断递归类型的打字稿提示?
- c# - Xamarin 表单为标签/列表视图创建创建条件
- spring-boot - Spring Boot 2.5 SocketTimeoutException 仅在 Github 操作中