C# Winform PrintDialog 弹出页面

C# Winform PrintDialog Pages popup

在 C# Winform 中,我正在使用 PrintDialog 将图像发送到打印机...使用此代码:

       private void PrintSnippedImage()
    {
        PrintDocument pDoc = new PrintDocument();
        pDoc.PrintPage += PrintPage;

        PrintDialog pDialog = new PrintDialog();
        pDialog.ShowHelp = true;
        pDialog.AllowSelection = false;
        pDialog.AllowSomePages = false;
        pDialog.Document = pDoc;
        if (pDialog.ShowDialog() == DialogResult.OK)
        {
            pDoc.Print();
        };
    }

    private void PrintPage(object o, PrintPageEventArgs e)
    {
        System.Drawing.Image img = Glob.SnippedImage;
        Point loc = new Point(10, 10);
        e.Graphics.DrawImage(img, loc);
    }

我收到一个弹出窗口,显示“正在打印...文档的第 1 页”,并带有取消按钮。 它出现在我的一台显示器上看似随机的位置。

有没有办法禁止这个弹出窗口,或者至少强制它出现在监视器上调用它的应用程序的一般位置?

看起来像这样:

这应该是将 PrintController 实现从 PrintControllerWithStatusDialog(默认值)交换到 StandardPrintController 的情况。参见 https://docs.microsoft.com/en-us/dotnet/api/system.drawing.printing.printdocument.printcontroller?view=dotnet-plat-ext-6.0#system-drawing-printing-printdocument-printcontroller