0

シングル ボタン クリックで 2 つのドキュメントを印刷しています。私がこれをするとき、

次のようなエラーがありますDialog boxes must be open by user

コードは次のとおりです。

PrintDocument monDocument = new PrintDocument();
btPrint.IsEnabled = true;

monDocument.PrintPage += new EventHandler<PrintPageEventArgs>(monDocument_PrintPage);          
monDocument.Print("Fiche");
System.Threading.Thread.Sleep(5000);

if (itm.Letter != null || itm.Letter != "")
{
    _lineIndex = 0;
    _documentBodyLines = new List<string>();
    string[] lines = tbLetter.Text.Split(new char[] { '\r' }, StringSplitOptions.None);
    _documentBodyLines.AddRange(lines);

    PrintDocument maLetter = new PrintDocument();
    maLettreMotiv.PrintPage += new EventHandler<PrintPageEventArgs>(maLettreMotiv_PrintPage);
    maLettreMotiv.Print("Letter");
}

ここに、itm私が現在いるオブジェクトがあります。

エラーをスローする行は最後の行です。睡眠を追加しようとしましたが、結果はありません。

これを個別に行うと (コメント付きの 1 つの印刷)、これは機能しますが、2 つのドキュメントの印刷を行う方法が見つかりません。

4

1 に答える 1

0

まず、印刷ルーチンにブレークポイントを設定すると、そのエラー メッセージが表示されるというバグがあります。

次に、HasMorePagesプロパティを確認する必要があります。true に設定すると、複数ページのレポートを印刷できます。

于 2013-05-28T08:37:47.437 に答える