开发者

Wait till winform loads before performing next action?

开发者 https://www.devze.com 2023-04-10 20:32 出处:网络
Winform application contains one form with a reportViewer control.When the form is initialized the report is generated but when I try to programmatically run a PrintDialog on the reportviewer I get a

Winform application contains one form with a reportViewer control. When the form is initialized the report is generated but when I try to programmatically run a PrintDialog on the reportviewer I get a 'Operations is not valid due to the cu开发者_Python百科rrent state of the object' error message.

When I comment out the PrintDialog line the report form shows fine. I think the problem is a lag as it generates the form/report. Is there a way to wait until the form loads before launching the PrintDialog?

Code excerpt:

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

UPDATE

Solution is (as suggested):

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

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

}


This article suggestions you can't/shouldn't call PrintDialog until the RenderingComplete event fires:

http://msdn.microsoft.com/en-us/library/microsoft.reporting.winforms.reportviewer.renderingcomplete(v=vs.80).aspx

http://social.msdn.microsoft.com/Forums/en-US/vsreportcontrols/thread/a8993f3e-7787-4e0a-b32f-fcfbf8df8001/

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号