C 列印技術(一)

2021-07-05 21:48:40 字數 3837 閱讀 4130

首先,從原理上解釋一下關於使用

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為列印提...