如何在c#中加载long方法时显示进度 [英] How to show a progress from while loading a long method in c#
本文介绍了如何在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屋!
查看全文