我如何使用打印对话框

本文关键字:对话框 打印 何使用 | 更新日期: 2023-09-27 18:13:43

如果你在Visual Studio 2005中做如下操作(或者直接按ctrl+p):文件==>打印…

你得到一个打印对话框屏幕。我想在我的程序中也这样做,但怎么做呢?

我如何使用打印对话框

这个对话框是一个所谓的通用对话框,一个内置的Windows对话框,可以被多个应用程序使用。

要在c#应用程序中使用此对话框,可以使用PrintDialog类。以下MSDN页面包含描述以及一些示例代码:

  • WinForms: System.Windows.Forms.PrintDialog
  • WPF: System.Windows.Controls.PrintDialog

如果您使用WPF,您可以使用PrintDialog: http://msdn.microsoft.com/en-us/library/system.windows.controls.printdialog.aspx

如果你使用WinForms,你可以使用…PrintDialog: http://msdn.microsoft.com/en-us/library/system.windows.forms.printdialog.aspx

对于CTRL+ p快捷键:添加一个工具栏(我想它被称为ToolStrip)到您的表单中,在其中添加一个条目,您可以从属性面板中分配快捷键CTRL+P。对于PrintDialog:在表单中添加PrintDialog控件,并将Document属性设置为要打印的文档。进入工具栏中打印条目的单击事件的代码。将代码PrintDialog.ShowDialog();添加到其中,检查是否单击了Print按钮,如果单击了,则使用DocumentToPrint.Print();打印它。下面是一个例子:

private void Button1_Click(System.Object sender, 
        System.EventArgs e)
    {
        // Allow the user to choose the page range he or she would
        // like to print.
        PrintDialog1.AllowSomePages = true;
        // Show the help button.
        PrintDialog1.ShowHelp = true;
        // Set the Document property to the PrintDocument for 
        // which the PrintPage Event has been handled. To display the
        // dialog, either this property or the PrinterSettings property 
        // must be set 
        PrintDialog1.Document = docToPrint;
        DialogResult result = PrintDialog1.ShowDialog();
        // If the result is OK then print the document.
        if (result==DialogResult.OK)
        {
            docToPrint.Print();
        }
    }

示例来源:http://msdn.microsoft.com/en-us/library/system.windows.forms.printdialog.document.aspx

你可以有一个标准的打印对话框:

var printDialog = new PrintDialog();
printDialog.ShowDialog();

…但是印刷必须自己完成……: -)

编辑:对于所有仍然使用VisualStudio2005的人:

PrintDialog printDialog = new PrintDialog();
printDialog.ShowDialog();

嗯,您可以使用命名巧妙的PrintDialog类....

如果你使用WinForms来构建你的UI,那么你可以使用原生的PrintDialog控件(见这里)。据我所知,这应该出现在WinForms控件的设计器模式下的工具箱中。