.NET 4.x Вывод в Label множества чисел в отдельном потоке - C#
Формулировка задачи:
Доброго дня., прошу на пальцах или просто самым простым примером показать-пояснить как сделать следующее:
Есть форма. на ней Label. в этот лабель надо выводить какуюто инфу. но из другого потока. Допустим поток просто перебирает все числа от 0 до 3000000 и выводит на экран в лабель числа которые делятся без остатка на какоето число.
если на лабель ничего не выводить то поток у меня выполняется и основная форма не тупит. если делать используя invoke то форма вешается а на лабель выводится только последний найденный результат.
Собсно как это все правильно реализовать.
Решение задачи: «.NET 4.x Вывод в Label множества чисел в отдельном потоке»
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; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.Load+=new EventHandler(Form1_Load); } void Form1_Load(object sender, EventArgs e) { Thread mythr=new Thread(new ThreadStart(dosomething)); mythr.Start(); } void dosomething() { int i = 0; for (; ; ) { if (label1.InvokeRequired) label1.Invoke(new Action(() => label1.Text = i.ToString())); Thread.Sleep(100); i++; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д