等到winform加载,然后再执行下一步操作?

时间:2011-10-04 15:02:20

标签: winforms c#-4.0 reporting wait

Winform应用程序包含一个带有reportViewer控件的表单。初始化表单时,会生成报告,但是当我尝试以编程方式在reportviewer上运行PrintDialog时,我得到“由于对象的当前状态而导致操作无效”错误消息。

当我注释掉PrintDialog行时,报表显示正常。我认为问题是滞后,因为它会生成表单/报告。有没有办法在启动PrintDialog之前等到表单加载?

代码摘录:

this.reportViewer1.RefreshReport();    this.reportViewer1.PrintDialog();

更新

解决方案是(如建议的那样):

private void form_load(...)
{
    createReport;
    this.reportViewer1.RefreshReport();
}

private void reportViewer1_RenderingComplete(...)
{
    this.reportViewer1.PrintDialog();

}