【发布时间】:2012-06-08 10:14:23
【问题描述】:
我想使用 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();
}
代码没问题,我可以构建和运行应用程序。但是当我点击按钮时,我收到了这样的信息:
谁能帮帮我?谢谢大家!
【问题讨论】:
-
我想知道这行;
printDocument1->Print();递归调用printDocument1_PrintPage事件 -
@CarlWinder - 感谢您的快速回答。你是对的,当我删除
printDocument1->Print();预览对话框正常工作时,但是......我如何在不使用printDocument1->Print();的情况下打印文档?? -
ShowDialog将返回一个类似Ok或Cancel的值,我一时想不起来实际代码叫什么。但是你会检查来自ShowDialog的返回码,如果它是Ok然后调用Print函数。 -
@CarlWinder : 谢谢老兄 :) 这就是我想知道的。
标签: windows forms printing c++-cli