C 列印整個窗體(不包括邊欄)

2021-09-20 23:50:39 字數 546 閱讀 4552

今天跟人討論如何列印整個窗體,最原始的思路是:

new bitmap ;

this.drawbitmap(bitmap,*);

用printdoucument控制項中 onprint 事件的 e.graphics.drawimage(bitmap,*,*,*,*);

此方法可以實現,但不夠完美。經過查資料發現 c# 可呼叫vb.net中的visual basic power pack 中的printer控制項來實現,且方法簡單優雅。

printform.printaction = system.**.printtoprinter;

printform.print(this,microsoft.**.clientareaonlu);   //clientareaonly表示只列印窗體,不包括邊欄

this.refresh();

另外這個小工具包中還有幾個比較有用的控制項,大家可以試試看!

假如裝vs時安裝了vb.net,則visual basic .net power pack 可在c#工具中看到,若沒有,也可自己安裝。

參考:

c 列印邊距2

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using system.window...

C 實現窗體控制項隨窗體大小改變 包括字型大小

private float x private float y private void settag control cons private void setcontrols float newx,float newy,control cons float a convert.tosingle ...

C 實現窗體控制項隨窗體大小改變 包括字型大小

private float x private float y private void settag control cons foreach control con in cons.controls private void setcontrols float newx,float newy,c...