C#打印panel控件中内容 c panel控件的使用



[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]//应用API函数
private static extern bool BitBlt(
IntPtr hdcDest, // 目标设备的句柄
int nXDest, // 目标对象的左上角的X坐标
int nYDest, // 目标对象的左上角的X坐标
int nWidth, // 目标对象的矩形的宽度
int nHeight, // 目标对象的矩形的长度
IntPtr hdcSrc, // 源设备的句柄
int nXSrc, // 源对象的左上角的X坐标
int nYSrc, // 源对象的左上角的X坐标
System.Int32 dwRop // 光栅的操作值
);
Image memoryImage; //统计报表画图


//打印按钮事件
C#打印panel控件中内容 c panel控件的使用
private void button_print_Click(object sender, EventArgs e)
{

Graphics graphic = panel_Total.CreateGraphics();
Size s = panel_Total.Size;
Bitmap memImage = new Bitmap(s.Width, s.Height, graphic);
Graphics memGraphic = Graphics.FromImage(memImage);
IntPtr dc1 = graphic.GetHdc();
IntPtr dc2 = memGraphic.GetHdc();
BitBlt(dc2, 0, 0, panelReports.ClientRectangle.Width,panelReports.ClientRectangle.Height,
dc1, 0, 0, 13369376);

//Clone the bitmap so we can dispose it.
memoryImage = (Bitmap)memImage.Clone();
graphic.ReleaseHdc(dc1);
memGraphic.ReleaseHdc(dc2);
graphic.Dispose();
memGraphic.Dispose();
memImage.Dispose();


PrintPreviewDialog dlg = new PrintPreviewDialog();
//dlg.Width = 1800;
//dlg.Height = 1600;
//dlg.Document = printDocument1;
//if (dlg.ShowDialog() == DialogResult.OK)
printDocument1.Print();

}

//printDocument 事件
private void printDocument1_PrintPage(object sender,PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, -10, 100);
}

  

爱华网本文地址 » http://www.aihuau.com/a/25101014/203299.html

更多阅读

怎样使用C#的月历MonthCalendar 控件 c panel控件的使用

怎样使用C#的月历【MonthCalendar】控件——简介 C#中的日历控件【MonthCalendar】是比较常用的一个控件,可以让用户对日期进行快速的查看和设置、也可以选择一段所需要的日期时间段。 下面介绍一下几种日历控件常用的使用方法。怎

C++之未命名的名字空间_Mac mac硬盘未命名

在C++中 我们可以用未命名的名字空间 unnamed namespace 声明一个局部于某一文件的实体,未命名的名字空间以关键字 namespace开头,同为该名字空间是没有名字的,所以在关键字namespace后面没有名字,而在关键字namespace后面使用花括号包

C语言编译器MINGW的使用说明 mingw msys 如何使用

在mingw环境中生成和使用dll都是十分方便的。1.生成dllgcc(g++) -shared -o test.dll test.c一直用VS,看现在Eclipse很火,便想弄一下玩玩,用到了MINGW,继而用到了GCC,对GCC相当的不熟悉,从头开始学一些简单的吧。简单的GCC用法~gcc命令提供

Excel中Frequency函数的使用 excel frequency函数

Excel电子表格作为办公自动化中重要的一款软件,其强大的数据处理功能中很大一部分取决于函数的使用。本文就函数Frequency的使用做以简单介绍。以一列垂直数组返回某个区域中数据的频率分布。例如,使用函数FREQUENCY 可以计算公司员工

声明:《C#打印panel控件中内容 c panel控件的使用》为网友善变梦想家分享!如侵犯到您的合法权益请联系我们删除