Прогресс выполнения цикла - C#
Формулировка задачи:
Подскажите, вот есть цикл
Хочу сделать, чтобы при выполнении цикла, показывалось, выполнено 3 из 10 например. То есть показывать сколько прошел цикл и сколько осталось.
private void ProcessedF() { int j = 0; for (int i = 0; i < 10; i++, j++) { System.Threading.Thread.Sleep(2000); BeginInvoke(new MethodInvoker(() => label1.Text = j.ToString())); } } private void button1_Click(object sender, EventArgs e) { System.Threading.Thread myThread = new System.Threading.Thread(ProcessedF); myThread.Start(); }
Решение задачи: «Прогресс выполнения цикла»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; using System.Threading.Tasks; namespace WindowsFormsApplication7 { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.Load += (delegate(object sender, EventArgs e) { label1.Text = string.Empty; }); button1.Click += (delegate(object sender, EventArgs e) { Thread myThread = new Thread(new ThreadStart(delegate() { int j = 10; for (int i = 0; i <= 10; i++) { Thread.Sleep(1000); label1.Invoke((Action)delegate() { string myString = string.Format("Выполнено {0} из {1}", i.ToString(), j.ToString()); label1.Text = myString; }); } label1.Invoke((Action)delegate() { label1.Text = "Операция завершена!"; }); })); myThread.IsBackground = true; myThread.Start(); }); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д