Winforms windows应用程序中的Progressbar

Winforms windows应用程序中的Progressbar,winforms,progress-bar,progressdialog,Winforms,Progress Bar,Progressdialog,我正在将xml文档导入econnect方法(Microsoft Dynamic GP)。导入文件需要几分钟(10米)的时间。所以我需要在导入时显示进度条 在表单加载事件中,我正在提交xml文件 但问题是表单在提交xml文件后显示。在使用xml文件之前,我需要显示Progressbar表单(70%)。提交xml文件时,我必须显示进度条已满(100%) 让我知道我如何展示 Form BarFormobj = new Form(); BarF

我正在将xml文档导入econnect方法(Microsoft Dynamic GP)。导入文件需要几分钟(10米)的时间。所以我需要在导入时显示进度条

在表单加载事件中,我正在提交xml文件

但问题是表单在提交xml文件后显示。在使用xml文件之前,我需要显示Progressbar表单(70%)。提交xml文件时,我必须显示进度条已满(100%)

让我知道我如何展示

              Form BarFormobj = new Form();
                BarFormobj.Width = 250;
                BarFormobj.Height = 150;
                BarFormobj.StartPosition = FormStartPosition.Manual;
                BarFormobj.Location = new Point(450, 200);
                BarFormobj.Text = "Invoice Date";

                BarFormobj.Load += new EventHandler(BarFormobj_Load);                    
                pBar.Location = new System.Drawing.Point(20, 20);
                pBar.Name = "progressBar1";
                pBar.Width = 200;
                pBar.Height = 30;

                pBar.Minimum = 0;
                pBar.Maximum = 100;
                pBar.Value = 70;   
                BarFormobj.Controls.Add(pBar);

                BarFormobj.ShowDialog();

                    pBar.Value = 100;
                    BarFormobj.Controls.Add(pBar);

              MessageBox.Show("Invoices have been successfully created");
静态void BarFormobj_加载(对象发送方,事件参数e)


非常简单的解决方案是,在提交XML文件的代码之后,立即将设置进度条值的代码移动到BarFormobj_load事件处理程序。

尝试将提交代码移动到显示的事件而不是load感谢您的回复,我已经在ShowDialog()方法下编写了提交代码。但控件是在关闭progressbar窗体之后进行的。我不想在完成100%进度条之前关闭表单。ShowDialog()是一个阻塞调用。您不能在ShowDialog()之后编写代码来处理progressbar,因为当ShowDialog()的调用返回时,表单是关闭/隐藏的。感谢Steve,是否有其他方法来显示完整的进度条…使用show()方法,它会立即退出,您可以在调用后编写进度条,但是在这种情况下,如果需要自动关闭表单,则需要保留表单的实例并从代码中关闭它。
    {          

      eConcall.CreateTransactionEntity(connStr, xmlDoc);  // here i am submitting xml documnet to Econnect. 
    }