如何在c#中加载long方法时显示进度 [英] How to show a progress from while loading a long method in c#

查看:68
本文介绍了如何在c#中加载long方法时显示进度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望在C#中运行方法时显示'请等待加载...'表单的进度。



我已经取了一个按钮我已经编写了一个方法代码。当我们点击该按钮时,进度表将打开,直到方法处于进行状态。



I want to show a progress from i.e 'Please wait loading...' form while running a method in C#.

I have taken one button in that i have written one method code.when we click on that button then the progress form will open until method has in progress state.

BackgroundWorker bg = new BackgroundWorker();
            bg.DoWork += new DoWorkEventHandler(bg_DoWork);
            bg.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bg_RunWorkerCompleted);
            // Start the worker.
            bg.RunWorkerAsync();
            // Display the loading form.
            popup pp = new popup();
            pp.ShowDialog();







private void bg_DoWork(object sender, DoWorkEventArgs e)
      {
copy();
}







private void bg_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
   {
   object result = e.Result;
   pp.Close();
   }





但是显示一个错误



跨线程操作无效:从创建它的线程以外的线程访问控件。



but it is being shown one error

Cross-thread operation not valid: Control accessed from a thread other than the thread it was created on.

推荐答案

您好,请参阅以下文章以显示进度对话框长时间处理Windows窗体。

1. 进度条,线程,Windows窗体和您

2. 在长时间过程中显示进度对话框 - C#
Hi, Refer the following articles to show progress dialog in Windows Forms while long process.
1. Progress Bars, Threads, Windows Forms, and You.
2. Show progress dialog during long process – C#.


这篇关于如何在c#中加载long方法时显示进度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆