Cant get the print preview for the panel C# -
i want program show print preview of panel instead showing whole paper size. how set print preview of this?
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)); } protected override void onpaint(painteventargs e) { if (memoryimage != null) { e.graphics.drawimage(memoryimage, 0, 0); base.onpaint(e); } } public void printdoc1_printpage(object sender, printpageeventargs e) { rectangle pagearea = e.pagebounds; e.graphics.drawimage(memoryimage, (pagearea.width / 2) - (this.panel1.width / 2), this.panel1.location.y); } public void print(panel pnl) { //printdocument1 pannel = pnl; getprintarea(pnl); previewdlg.document = printdoc1; previewdlg.showdialog(); } private void btnprintcheque_click(object sender, eventargs e) { print(panel1); }
Comments
Post a Comment