內容摘要:從原理上解釋一下採用c#列印的應用,這裡以最常用的c/s模式作為範例,首先,獲取要列印的資料,根據固定的模版進行資料排版。然後,簡單設定列印屬性以及預覽資料。最後,進行列印。
首先,從原理上解釋一下關於使用c#開發列印的應用。這裡以最常用的c/s模式作為範例。
.netframework為列印提供了system.drawing;、system.drawing.printing;和system.windows.froms;命名空間,在這個命名空間裡面有以下幾個常用的重要類分別是:
a) printdocment類主要用來繪製列印頁面並將列印頁面傳送到印表機;
1) 常用屬性:
defaultpagesettings: 獲取或設定頁設定,這些頁設定用作要列印的所有頁的預設設定。
documentname: 獲取或設定列印文件時要顯示的文件名。
printersettings: 獲取或設定對文件進行列印的印表機。
2) 常用方法:
print(): 開始文件的列印程序。
onprintpage(): 引發 printpage 事件。該事件在某頁列印之前被呼叫。
3) 常用事件
beginprint: 在呼叫 print 方法時並且在列印文件的第一頁之前發生。
endprint: 列印完文件的最後一頁時發生。
printpage: 當需要為當前頁列印的輸出時發生。
b) pagesetupdialog類用於設定簡單的列印設定
1) 常用屬性
allowmargins: 獲取或設定乙個值,該值指示是否啟用對話方塊的邊距部分。
alloworientation: 獲取或設定乙個值,該值指示是否啟用對話方塊的方向部分(橫向對縱向)。
allow*****: 獲取或設定乙個值,該值指示是否啟用對話方塊的紙張部分(紙張大小和紙張**)。
allowprinter: 獲取或設定乙個值,該值指示是否啟用「印表機」按鈕。
document: 獲取或設定乙個值,指示從中獲取頁面設定的 printdocument。
pagesettings: 獲取或設定乙個值,該值指示要修改的頁設定。
printersettings: 獲取或設定使用者單擊對話方塊中「印表機」按鈕時修改的印表機設定。
showhelp: 獲取或設定乙個值,該值指示「幫助」按鈕是否可見。
shownetwork: 獲取或設定乙個值,該值指示「網路」按鈕是否可見。
2) 常用方法
reset(): 已重寫。 將所有選項重新設定為其預設值。
showdialog(): 已過載。 執行通用對話方塊。
c) printpreviewdialog類用於列印預覽
1) 常用屬性
desktopbounds: 獲取或設定 windows 桌面上窗體的大小和位置。(從 form 繼承。)
desktoplocation: 獲取或設定 windows 桌面上窗體的位置。(從 form 繼承。)
dialogresult: 獲取或設定窗體的對話方塊結果。
document: 獲取或設定要預覽的文件。
enabled: 獲取或設定乙個值,該值指示是否已啟用該控制項。
height: 獲取或設定控制項的高度。
location: style="font-size: 12pt; color: black">獲取或設定該控制項的左上角相對於其容器的左上角的座標。
width: 獲取或設定控制項的寬度。(從 control 繼承。)
windowstate: 獲取或設定窗體的視窗狀態。
2) 常用方法
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 = newprintpreviewdialog();
//獲取要預覽的文件
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模式作為範例。netframework 為列印提供了 system.drawing system.drawing.printing 和system.windows.froms 命名空間,在這個命名空間裡面有以下幾個常用的重要類...