-1

是否可以将“页面设置”和“打印机设置”显示为无模式表单?我使用的代码如下,但表单显示为模态表单:

    // page setup
    private void btnPageSetup_Click(object sender, EventArgs e)
    {
        this.pageSetupDialog1.PageSettings = new PageSettings();
        this.pageSetupDialog1.PrinterSettings = this.printDocument1.PrinterSettings;
        this.pageSetupDialog1.ShowDialog();
        if (this.pageSetupDialog1.PageSettings != null)
        {
            this.printDocument1.DefaultPageSettings = this.pageSetupDialog1.PageSettings;
        }
    }

    // print setup
    private void btnPrintSetup_Click(object sender, EventArgs e)
    {
        this.pageSetupDialog1.Document = this.printDocument1;
        if (this.pageSetupDialog1.ShowDialog() == DialogResult.OK)
        {
            this.printDocument1.Print();
        }
    }
4

1 回答 1

-1

您可以通过调用Show而不是ShowDialog.

但是,您还必须重新调整代码,因为您的主窗体将不再等待子窗体之一关闭以检查用户所做的事情。

例如,您必须更改打印设置代码,以便在用户单击时PageSetupDialog 打印文档本身OK,而不是依赖主表单在用户单击时执行操作OK

同样,您需要更改页面设置代码,以便您自己设置PageSetupDialog,而不是“返回”属性中的设置并依赖处理它们的主表单。Document.DefaultPageSettings PageSettings

于 2012-11-12T10:58:55.070 回答