打印預覽

使用PrintPreviewDialog類

如下圖所示的打印預覽窗體,使用PrintPreviewDialog類可以輕鬆實現。

這裏所介紹的例子,是在「執行打印」中所介紹的方法追加的基礎上,點擊按鈕(Button1)時,表示打印預覽窗體。

[C#]

private void button1_Click(object sender, System.EventArgs e)
{
//PrintDocument對象作成
System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument();
 //PrintPage事件處理器追加
pd.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(pd_PrintPage);
//PrintPreviewDialog對象作成
PrintPreviewDialog ppd = new PrintPreviewDialog();
//設定預覽用的
PrintDocument ppd.Document = pd;
 //表示打印預覽用窗體
ppd.ShowDialog();
}
private void pd_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
//讀取圖片
 Image img = Image.FromFile("c:/test.bmp");
//描繪圖片
e.Graphics.DrawImage(img, e.MarginBounds);
 //沒有時通知
e.HasMorePages = false;
 //資源釋放
img.Dispose();
}

窗體的樣式是在安全檢查中追加PrintPreviewDialog組件所形成的。關於PrintPreviewDialog組件的使用方法,請參考「在 Windows 應用程序中顯示打印預覽」。

相關:指定打印預覽窗體位置、表示比率

使用PrintPreviewControl類

接下來介紹使用PrintPreviewControl控件表示打印預覽窗體的方法。在不想常規窗體時,可以使用這個方法。

下面的例子也一樣,是在「執行打印」中所介紹的方法的基礎上追加的,當點擊按鈕(Button1)時,打印預覽窗體在PrintPreviewControl控件(PrintPreviewControl1)中表示。(Button1和PrintPreviewControl1在窗體中需要追加。)

[C#]

private void button1_Click(object sender, System.EventArgs e)
{
//PrintDocument對象作成
System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument();
//PrintPage事件處理器追加
pd.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(pd_PrintPage);
//設定預覽用的
PrintDocument PrintPreviewControl1.Document = pd;
}
private void pd_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
 //讀取圖片
 Image img = Image.FromFile("c:/test.bmp");
//描繪圖片
 e.Graphics.DrawImage(img, e.MarginBounds);
//下一頁沒有時通知
e.HasMorePages = false;
//資源釋放
 img.Dispose();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章