0

我想使用 printPreviewDialog 控件。我添加了 4 个控件:richTextBox、按钮、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

谁能帮我?多谢你们!

4

1 回答 1

0

不要在 PrintPage 事件处理程序中调用 PrintDocument::Print()。当 Print() 方法调用再次调用 PrintPage 事件处理程序时,所有的地狱都会崩溃。让您的程序因该网站的名称而崩溃需要一段时间,您可能首先会用完句柄配额。

只需删除该语句,它不会做任何有用的事情。

于 2012-06-08T12:30:38.330 回答