我可以禁用打印页面 x of y 对话框吗?

Posted

技术标签:

【中文标题】我可以禁用打印页面 x of y 对话框吗?【英文标题】:Can I disable the printing page x of y dialog? 【发布时间】:2011-07-27 12:53:32 【问题描述】:

我正在使用 c# 开发一个全屏信息亭应用程序。我需要打印门票和收据。我使用 PrintDocument 类进行打印。打印机打印完美,但我需要禁用打印过程中显示的弹出对话框。

我听说可以在控制面板中使用打印机和传真禁用它,但我在控制面板中没有打印机和传真。

我可以禁用显示的对话框吗?如果可以,我该怎么做?

【问题讨论】:

【参考方案1】:

我相信将您的PrintDocumentPrintController 设置为StandardPrintController 应该可以解决这个问题。

PrintDocument printDocument = new PrintDocument();
PrintController printController = new StandardPrintController();
printDocument.PrintController = printController;

希望这会有所帮助。

【讨论】:

@Krankoloji 没问题,很高兴能帮上忙! @SeeSharp :如果您调用 printDocument.Print,这可以正常工作,但如果您调用 printDocument.DisplayDialog,则不会。没有对等的 dialogController。有什么想法吗? 这没有做任何事情来阻止分页弹出对话框。 Visual Studio 2017 C# .NET Framework 4.6.2,Windows 10 Ent 2016 LTSP。【参考方案2】:

很好的问答。这是 VB.Net 版本的谷歌搜索 vb.net 没有返回任何有意义的结果。

  Dim printDocument As New System.Drawing.Printing.PrintDocument
  Dim printController As New System.Drawing.Printing.StandardPrintController
  printDocument.PrintController = printController

【讨论】:

【参考方案3】:

Windows 10、8、7 和 Server 2012 注意:此选项在 Windows 的家庭版中不可用。

按住 Windows 键,然后按“R”打开 Windows 运行对话框。 输入“printmanagement.msc”,然后按“Enter”。 展开“打印机服务器”,然后右键单击计算机名称并选择“打印机服务器属性”。 选择“高级”选项卡。 取消选中“显示本地打印机的信息通知”和“显示网络打印机的信息通知”。

【讨论】:

这确实对问题有任何影响。对话框仍然显示。 Windows 10 Enterprise 2016 LTSB 所有当前更新【参考方案4】:

这对我有用。你可以试试这个

PrintDocument document = new PrintDocument();
        PrintDialog dialog = new PrintDialog();
        PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();
        private  Font printFont;
        private string stringToPrint;
      //  private int linesPerPage=9;
        private Font printFont1;
        QRCode qrCode1;
        private string stringToPrint1;
        private string databasePath;
        int i=1;
        public Form1()
        
            InitializeComponent();


            //document.DefaultPageSettings.PrinterSettings.PrinterName = "GODEX500";
            //  document.DefaultPageSettings.Landscape = true;
            document.DefaultPageSettings.PaperSize = new PaperSize("75 x50 mm", 300, 200);
            document.DefaultPageSettings.Margins = new Margins(1, 1, 1, 1);
            printFont = new Font("Arial", 10);
            // printFont1 = new Font("NewBarcodeFont", 12);

            //    document= new Font("GODEX-NewBarcodeFont", 12, FontStyle.Regular);
            // document.OriginAtMargins = true;
            //This PrintController worked fine and not showing printing this document using window
            PrintController printController = new StandardPrintController();
            document.PrintController = printController;
            document.PrintPage += new PrintPageEventHandler(document_PrintPage);

        

【讨论】:

以上是关于我可以禁用打印页面 x of y 对话框吗?的主要内容,如果未能解决你的问题,请参考以下文章

可以禁用“应用程序错误”对话框吗?

禁用对话框右上角的“X”按钮[重复]

是否可以从 QPrintDialog 调用的 QPrinter 对话框中取消选中“打印到文件”?

如何在 PHP 和 Javascript Web 应用程序的打印对话框中禁用“另存为”选项。如果打印机已连接且未下载,则应出现该对话框

我们可以在 aws 设备场中为 Android espresso 测试禁用一个对话框吗

chrome 撤消“阻止此页面创建其他对话框”的操作