PrintForm 元件 (Visual Basic)
Visual Basic 的 PrintForm 元件可讓您在執行階段列印 Windows Form 的影像。它的行為會取代舊版 Visual Basic 中 PrintForm 方法的行為。
PrintForm 元件概觀
Windows Form 常見的情形是建立一個表單,其格式類似紙張的表單或報表,然後再列印表單的影像。雖然也可以使用 PrintDocument 元件這麼做,但卻需要撰寫許多程式碼。PrintForm 元件可讓您將表單的影像列印至印表機、列印至預覽列印視窗或列印至檔案,而不需要使用 PrintDocument 元件。
PrintForm 元件位於 [工具箱] 的 [Visual Basic PowerPacks] 索引標籤。當元件拖曳至表單時會顯示在元件匣中,位於表單下框線之下的一小塊區域中。選取元件後,定義其行為的屬性可以在 [屬性] 視窗中設定。這些屬性都可以在程式碼中設定。您也可以在程式碼中建立 PrintForm 元件的執行個體,而不需在執行階段加入該元件。
當您列印表單時,會列印表單中工作區 (Client Area) 中的所有內容。這包括所有控制項,以及圖形方法在表單上繪製的任何文字或圖形。根據預設,並不會列印表單的標題列、捲軸和框線,而且 PrintForm 元件只會列印表單上看得見的部分。例如,如果使用者在執行階段重新調整表單的大小,就只會列印目前看得到的控制項和圖形。
PrintForm 元件所使用的預設印表機,是由作業系統的 [控制台] 設定所決定。
列印作業一開始後,就會顯示標準的 PrintDocument 列印對話方塊。這個對話方塊可讓使用者取消列印工作。
主要方法、屬性和事件
PrintForm 元件的主要方法是 Print 方法,會將表單的影像列印至印表機、預覽列印視窗或檔案。Print 方法有兩種版本:
不含參數的基本版本:Print()
包含指定列印行為之參數的多載版本:Print(printForm As Form, printFormOption As PrintOption)
多載方法的 PrintOption 參數可決定用來列印表單的基礎實作、是否列印表單的標題列、捲軸和框線,以及是否列印表單可捲動的部分。
PrintAction 屬性是 PrintForm 元件的主要屬性。這個方法會判斷輸出是否傳送給印表機、顯示在預覽列印視窗,或另存成壓縮式 PostScript 檔案。如果 PrintAction 屬性設定為 PrintToFile,則 PrintFileName 屬性會指定路徑和檔名。
PrinterSettings 屬性可存取基礎 PrinterSettings 物件,這個物件可讓您指定設定,例如要使用的印表機以及列印的份數。您也可以查詢印表機的功能,例如色彩或雙面列印支援。這個屬性不會顯示在 [屬性] 視窗,只能從程式碼存取。
Form 屬性是在您以程式設計方式叫用 PrintForm 元件時,用來指定要列印的表單。如果該元件在設計階段已加入表單,則該表單就是預設的表單。
PrintForm 元件的主要事件包括:
BeginPrint 事件。呼叫 Print 方法時發生 (在文件第一頁列印之前)。
EndPrint 事件。發生於列印最後一頁時。
QueryPageSettings 事件。發生於列印每一頁之前。
備註
如果表單內含由 Graphics 方法所繪製的文字或圖形,請使用基本的 Print (Print()) 方法列印。使用多載 Print 方法時,在某些作業系統中可能無法呈現圖形。
如果表單的寬度超過印表機中紙張的寬度,則表單的右側可能不會列印出來。設計列印用的表單時,請確定表單符合標準大小的紙張。
範例
在下列範例中,會顯示 PrintForm 元件的常見用法。
' Visual Basic.
Dim pf As New PrintForm
pf.Form = Me
pf.PrintAction = PrintToPrinter
pf.Print()
請參閱
工作
HOW TO:使用 PrintForm 元件列印表單 (Visual Basic)
HOW TO:列印表單的工作區 (Visual Basic)
HOW TO:列印表單的工作區和非工作區 (Visual Basic)
HOW TO:列印可捲動的表單 (Visual Basic)