C# 自定义打印的“保存文件”对话框

C# 自定义打印的“保存文件”对话框,c#,C#,我想为单击“打印”按钮时出现的“保存文件”对话框设置文件名。 我试过这个。而且它不起作用。(文件名未更改)! 谁能告诉我一些想法吗 PrintDocument pd = rep.Document; PrintDialog printDialog = new PrintDialog(); DialogResult userResp = printDialog.ShowDialog(); if (userResp == DialogResult.OK) { pd.PrinterSett

我想为单击“打印”按钮时出现的“保存文件”对话框设置文件名。 我试过这个。而且它不起作用。(文件名未更改)! 谁能告诉我一些想法吗

PrintDocument pd = rep.Document;
PrintDialog printDialog = new PrintDialog();
DialogResult userResp = printDialog.ShowDialog();
if (userResp == DialogResult.OK)
{
       pd.PrinterSettings.PrintToFile = true;
       SaveFileDialog pdfSaveDialog = new SaveFileDialog();
       pdfSaveDialog.FileName = "MyNewReport";
       pdfSaveDialog.Filter = "PDF File|*.pdf";
       userResp = pdfSaveDialog.ShowDialog();
       if (userResp != DialogResult.Cancel)
       {
             pd.PrinterSettings.PrintFileName = pdfSaveDialog.FileName;
              pd = rep.C1Document.Document; 
                    pd.Print();
       }
 }
这里有一些图片。 [1]:

用户单击“打印”按钮。然后显示“我的自定义保存文件”对话框。 [2]:

用户单击“保存”按钮后,会出现另一个带有默认文件名的“保存文件”对话框,它实际执行打印过程。但无法设置文件名。
[ [1]:

是否希望用户按pri?nt,然后选择fileNo!我想打印现有的报告文件。那么哪里需要SaveFileDialog?当用户选择像可爱的PDF这样的打印机时,会出现SaveFileDialog。第二个对话框是由XPS打印机驱动程序生成的。这肯定会对您在一个无法写入。如XPS驱动程序所做的那样,通过将pdfSaveDialog.InitialDirectory属性设置为用户的主文件夹,将落入成功的陷阱。请使用Environment.GetFolderPath()。是否希望用户先按pri?nt,然后选择fileNo!我想打印现有的报告文件。那么哪里需要SaveFileDialog?当用户选择像可爱的PDF这样的打印机时,会出现SaveFileDialog。第二个对话框是由XPS打印机驱动程序生成的。在无法打印的目录中选择文件名肯定会让您不高兴将pdfSaveDialog.InitialDirectory属性设置为用户的主文件夹(如XPS驱动程序所做的那样),将失败。请使用Environment.GetFolderPath()。