项设置都是 PageSettings 类的一个属性。PageSetupDialog 类可以改变 PageSettings 类实例(由 PrintDocument.DefaultPageSettings 指定)的上述选项。
在下列代码中,Button 控件的 Click 事件处理程序开启一个 PageSetupDialog 组件;其 Document 属性被设成某个存在的文档;其 Color 属性被设成 false 。
本例假设存在名为 Button1 的 Button 控件、名为 myDocument 的 PrintDocument 控件和名为 PageSetupDialog1 的 PageSetupDialog 组件。
'' Visual Basic Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click '' The print document ''myDocument'' used below '' is merely for an example. ''You will have to specify your own print document. PageSetupDialog1.Document = myDocument '' Set the print document''s color setting to false, '' so that the page will not be printed in color. PageSetupDialog1.Document.DefaultPageSettings.Color = False PageSetupDialog1.ShowDialog() End Sub // C# private void button1_Click(object sender, System.EventArgs e) { // The print document ''myDocument'' used below // is merely for an example. // You will have to specify your own print document. pageSetupDialog1.Document = myDocument; // Set the print document''s color setting to false, // so that the page will not be printed in color. pageSetupDialog1.Document.DefaultPageSettings.Color = false; pageSetupDialog1.ShowDialog(); }
PrintPreviewDialog 控件
与其他对话框不同,PrintPreviewDialog 控件对整个应用程序或者其它控件没有影响,因为它仅仅在对话框里显示内容。此对话框用于显示文档,主要是打印之前的预览。
调用 PrintPreviewDialog 控件,也是使用 ShowDialog 方法。同时,必须生成 PrintDocument 类的一个实例,也即被打印的文档。
注意:当使用 PrintPreviewDialog 控件时,也必须已经安装了一台本地或者远程打印机,否则 PrintPreviewDialog 组件将无法获取被打印文档的外观。
PrintPreviewDialog 控件通过 PrinterSettings 类和 PageSettings 类进行设置,分别与 PageDialog 组件和 PageSetupDialog 组件相似。此外,PrintPreviewDialog 控件的 Document 属性所指定的被打印文档,同时作用于 PrinterSettings 类和 PageSettings 类,其内容被显示在预览窗口中。
在下列代码中,通过 Button 控件的 Click 事件调用 PrintPreviewDialog 控件。被打印文档在 Document 属性中指定。注意:代码中没有指定被打印文档。
本例假设存在名为 Button1 的 Button 控件,名为 myDocument 的 PrintDocument 组件和名为 PrintPreviewDialog1 的 PrintPreviewDialog 控件。
'' Visual Basic Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click '' The print document ''myDocument'' used below '' is merely for an example. '' You will have to specify your own print document. PrintPreviewDialog1.Document = myDocument PrintPreviewDialog1.ShowDialog() End Sub // C# private void button1_Click(object sender, System.EventArgs e) { // The print document ''myDocument'' used below // is merely for an example. // You will have to specify your own print document. printPreviewDialog1.Document = myDocument; printPreviewDialog1.ShowDialog() }
小结
.NET 框架里包含了 Windows 用户所熟悉的各种公共对话框,于是在应用程序中提供交互功能变得更加容易。通常, |