using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
Random random = new Random();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
var t = new Thread(StartWork);
t.Start();
}
public void StartWork()
{
var threads = new List<Thread>();
for (int i = 0; i < 1000; i++)
{
var t = new Thread(() =>
{
Thread.Sleep(random.Next(1, 500));
StopProgress();
});
threads.Add(t);
}
threads.ForEach(t => t.Start());
}
public void StopProgress()
{
if (InvokeRequired)
{
Invoke(new MethodInvoker(StopProgress));
return;
}
progressBar1.Visible = random.Next() % 2 == 0;
}
}
}
dXNpbmcgU3lzdGVtLkRyYXdpbmc7CnVzaW5nIFN5c3RlbS5MaW5xOwp1c2luZyBTeXN0ZW0uVGV4dDsKdXNpbmcgU3lzdGVtLlRocmVhZGluZzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgU3lzdGVtLldpbmRvd3MuRm9ybXM7CgpuYW1lc3BhY2UgV2luZG93c0Zvcm1zQXBwbGljYXRpb24xCnsKICAgIHB1YmxpYyBwYXJ0aWFsIGNsYXNzIEZvcm0xIDogRm9ybQogICAgewogICAgICAgIFJhbmRvbSByYW5kb20gPSBuZXcgUmFuZG9tKCk7CiAgICAgICAgcHVibGljIEZvcm0xKCkKICAgICAgICB7CiAgICAgICAgICAgIEluaXRpYWxpemVDb21wb25lbnQoKTsKICAgICAgICB9CgogICAgICAgIHByaXZhdGUgdm9pZCBGb3JtMV9Mb2FkKG9iamVjdCBzZW5kZXIsIEV2ZW50QXJncyBlKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIHQgPSBuZXcgVGhyZWFkKFN0YXJ0V29yayk7CiAgICAgICAgICAgIHQuU3RhcnQoKTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyB2b2lkIFN0YXJ0V29yaygpCiAgICAgICAgewogICAgICAgICAgICB2YXIgdGhyZWFkcyA9IG5ldyBMaXN0PFRocmVhZD4oKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwMDA7IGkrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHQgPSBuZXcgVGhyZWFkKCgpID0+CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgVGhyZWFkLlNsZWVwKHJhbmRvbS5OZXh0KDEsIDUwMCkpOwogICAgICAgICAgICAgICAgICAgIFN0b3BQcm9ncmVzcygpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0aHJlYWRzLkFkZCh0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aHJlYWRzLkZvckVhY2godCA9PiB0LlN0YXJ0KCkpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHZvaWQgU3RvcFByb2dyZXNzKCkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChJbnZva2VSZXF1aXJlZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSW52b2tlKG5ldyBNZXRob2RJbnZva2VyKFN0b3BQcm9ncmVzcykpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBwcm9ncmVzc0JhcjEuVmlzaWJsZSA9IHJhbmRvbS5OZXh0KCkgJSAyID09IDA7CiAgICAgICAgfQogICAgfQp9Cg==