關於C 列印技術

2021-04-22 07:52:00 字數 3508 閱讀 1630

內容摘要:從原理上解釋一下採用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 命名空間,在這個命名空間裡面有以下幾個常用的重要類...