首先,從原理上解釋一下關於使用
c#開發列印的應用。這裡以最常用的
c/s模式作為範例。
.netframework
為列印提供了
system.drawing;、
system.drawing.printing;
和system.windows.froms;
命名空間,在這個命名空間裡面有以下幾個常用的重要類分別是:
a) printdocment
類主要用來繪製列印頁面並將列印頁面傳送到印表機; 1)
常用屬性: l
defaultpagesettings:
獲取或設定頁設定,這些頁設定用作要列印的所有頁的預設設定。 l
documentname:
獲取或設定列印文件時要顯示的文件名。 l
printersettings:
獲取或設定對文件進行列印的印表機。 2)
常用方法: l
print():
開始文件的列印程序。 l
onprintpage():
引發printpage
事件。該事件在某頁列印之前被呼叫。 3)
常用事件 l
beginprint:
在呼叫print
方法時並且在列印文件的第一頁之前發生。 l
endprint:
列印完文件的最後一頁時發生。 l
printpage:
當需要為當前頁列印的輸出時發生。 b)
pagesetupdialog
類用於設定簡單的列印設定 1)
常用屬性 l
allowmargins:
獲取或設定乙個值,該值指示是否啟用對話方塊的邊距部分。 l
alloworientation:
獲取或設定乙個值,該值指示是否啟用對話方塊的方向部分(橫向對縱向)。 l
allow*****:
獲取或設定乙個值,該值指示是否啟用對話方塊的紙張部分(紙張大小和紙張**)。 l
allowprinter:
獲取或設定乙個值,該值指示是否啟用「印表機」按鈕。 l
document:
獲取或設定乙個值,指示從中獲取頁面設定的 printdocument。 l
pagesettings:
獲取或設定乙個值,該值指示要修改的頁設定。 l
printersettings:
獲取或設定使用者單擊對話方塊中「印表機」按鈕時修改的印表機設定。 l
showhelp:
獲取或設定乙個值,該值指示「幫助」按鈕是否可見。 l
shownetwork:
獲取或設定乙個值,該值指示「網路」按鈕是否可見。 2)
常用方法 l
reset():
已重寫。 將所有選項重新設定為其預設值。 l
showdialog():
已過載。 執行通用對話方塊。 c)
printpreviewdialog
類用於列印預覽 1)
常用屬性 l
desktopbounds:
獲取或設定
windows
桌面上窗體的大小和位置。
(從form
繼承。) l
desktoplocation:
獲取或設定
windows
桌面上窗體的位置。
(從form
繼承。) l
dialogresult:
獲取或設定窗體的對話方塊結果。 l
document:
獲取或設定要預覽的文件。 l
enabled:
獲取或設定乙個值,該值指示是否已啟用該控制項。 l
height:
獲取或設定控制項的高度。 l
location:
獲取或設定該控制項的左上角相對於其容器的左上角的座標。 l
width:
獲取或設定控制項的寬度。
(從control
繼承。) l
windowstate:
獲取或設定窗體的視窗狀態。 2)
常用方法 l
showdialog():
已過載。
將窗體顯示為模式對話方塊。
下面我們來看一下列印的基本步驟: 1)
宣告乙個
printdocment:
命名空間:
system.drawing.printing;
**:printdocment objprintdocment=new printdocment();
objprintdocment
.printpage+=new
printpageeventhandler
(print_printpage); 2)
呼叫列印屬性設定視窗
命名空間:
system.windows.froms;
**: //
初始化要顯示的設定視窗
pagesetupdialog
objpagesetupdialog = new
pagesetupdialog(); //
獲取文件
objpagesetupdialog.document = this._pdocument; //
顯示視窗s
objpagesetupdialog.showdialog(); 3)
呼叫列印預覽視窗 //
初始化要預覽視窗
printpreviewdialog
objprintpreviewdialog = new
printpreviewdialog(); //
獲取要預覽的文件
objprintpreviewdialog.document = objdocument; //
顯示預覽視窗
objprintpreviewdialog.showdialog(); 4)
新增print_printpage(object sender, printpageeventargs e)
的**
//這裡主要實現列印功能
利用graphics類的
drawline
()方法畫線,drawstring()方法寫入文字; //
列印表裡的資料
g.drawstring(cellvalue, _contentfont, _contentforecolor, new
pointf(linex, liney + _celltopmargin)); //
標題下面的一條線
g.drawline(_linepen, new
pointf(_leftmargin, linebeginy), new
pointf(pagewidth - _rightmargin, linebeginy));
現面來看一下乙個具體的、簡單的事例:將使用者輸入的資料在介面上列印出來.
public
partial
class
ftest : form
private
void
ftest _load(object sender, eventargs e)
void objdocument_printpage(object sender, printpageeventargs e)
private
void button1_click(object sender, eventargs e)
} 總結:通過上面的事例我們可以知道c#主要使用其自帶的類庫printdocment類的printpage事件來實現的列印的,我們可以通過來利用此事件函式來列印我們想要的結果.
關於C 列印技術
關鍵字 c net c 列印列印技術 內容摘要 從原理上解釋一下採用 c 列印的應用,這裡以最常用的 c s模式作為範例,首先,獲取要列印的資料,根據固定的模版進行資料排版。然後,簡單設定列印屬性以及預覽資料。最後,進行列印。首先,從原理上解釋一下關於使用 c 開發列印的應用。這裡以最常用的 c s...
關於C 列印技術
關鍵字 c net c 列印 列印技術 內容摘要 從原理上解釋一下採用c 列印的應用,這裡以最常用的c s模式作為範例,首先,獲取要列印的資料,根據固定的模版進行資料排版。然後,簡單設定列印屬性以及預覽資料。最後,進行列印。首先,從原理上解釋一下關於使用c 開發列印的應用。這裡以最常用的c s模式作...
關於C 列印技術
內容摘要 從原理上解釋一下採用c 列印的應用,這裡以最常用的c s模式作為範例,首先,獲取要列印的資料,根據固定的模版進行資料排版。然後,簡單設定列印屬性以及預覽資料。最後,進行列印。首先,從原理上解釋一下關於使用c 開發列印的應用。這裡以最常用的c s模式作為範例。netframework為列印提...