Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR CSHARP

Reporting Progress from Async Tasks c#

using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace ProgressBarDemo
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }
 
        public void DoSomething(IProgress<int> progress)
        {
            for (int i = 1; i <= 100; i++)
            {
                Thread.Sleep(100);
                if (progress != null)
                    progress.Report(i);
            }
        }
 
        private async void btnStart_Click(object sender, EventArgs e)
        {
            progressBar1.Value = 0;
            var progress = new Progress<int>(percent =>
            {
                progressBar1.Value = percent;
 
            });
            await Task.Run(() => DoSomething(progress));
        }
    }
}
Source by foxlearn.com #
 
PREVIOUS NEXT
Tagged: #Reporting #Progress #Async #Tasks
ADD COMMENT
Topic
Name
3+8 =