printPreviewDialog显示太多窗口

时间:2012-06-08 10:14:24

标签: windows forms printing c++-cli

我想使用printPreviewDialog控件。我添加了4个控件:richTextBox,button,printPreviewDialog和printDocument。对于printDocument1,我添加:

    private: System::Void printDocument1_PrintPage(System::Object^  sender, System::Drawing::Printing::PrintPageEventArgs^  e) {
               printDocument1->Print();
               e->Graphics->DrawString(richTextBox1->Text,richTextBox1->Font, Brushes::Black,(float)80,(float)80 );
    } 

按钮:

    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    printPreviewDialog1->Document = printDocument1;
    printPreviewDialog1 -> ShowDialog();
     }

代码没问题,我可以构建并运行应用程序。但是当我点击按钮时,我收到了类似的内容:

http://www.screenr.com/fJr8

任何人都可以帮助我吗?谢谢你们!

1 个答案:

答案 0 :(得分:0)

不要在PrintPage事件处理程序中调用PrintDocument :: Print()。当Print()方法调用再次调用PrintPage事件处理程序时,所有的地狱都将失败。使用这个网站的名称让你的程序崩溃需要一段时间,你可能会先用掉你的句柄配额。

只需删除该语句,它就没有任何用处。