如何删除Devexpress文档查看器的某个打印到文件功能

时间:2014-09-10 07:56:03

标签: c# winforms devexpress

嗨,我只是想知道当我试图在devexpress文档查看器上打印报告时,我发现了一个奇怪的功能,我真的不需要在功能方面,我想删除它有没有办法删除它?? ..这是我要删除的功能,请参阅图像以供参考

enter image description here

有没有办法删除它?我花了几个小时寻找解决方案,但我无法找到它我只是认为你们可以帮我提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以将PrintDialogRunner.Instance属性返回的DefaultPrintDialogRunner替换为SystemPrintDialogRunnerDefaultPrintDialogRunner类的自定义版本。

以下是替换默认PrintDialogRunner的方法:

using DevExpress.XtraEditors.Preview;
// ...
static void Main(string[] args) {
    PrintDialogRunner.Instance = new SystemPrintDialogRunner(); // !!!
    // ...
}

上面的代码将导致PrintTool.PrintDialog方法将调用标准系统Print对话框: enter image description here

然后你应该创建自己的PrintDialogRunner版本,它使用特定的标志调用PrintDialogRunner.Run方法,并在上面提到的方法中使用这个类:

class CustomPrintDialogRunner : DefaultPrintDialogRunner {
    public override DialogResult Run(PrintDocument document, UserLookAndFeel lookAndFeel, 
        IWin32Window owner, PrintDialogAllowFlags flags) {
        // Disable the print-to-file option.
        flags &= ~PrintDialogAllowFlags.AllowPrintToFile;
        return base.Run(document, lookAndFeel, owner, flags);
    }
}
//...
PrintDialogRunner.Instance = new CustomPrintDialogRunner ();