Kako zaustavi Thread na neodređeno vrijeme i kasnije ga opet pokrenut, sad koristim suspend i resume i javlja mi warning, i zbog toga mi povremeno ne izlazi iz programa ispravno
- +/- sve poruke
- ravni prikaz
- starije poruke gore
http://stackoverflow.com/questions/142826/is-there-a-way-to-indefinitely-pause-a-thread
Možda tu ima nešto korisno.
Kako zaustavi Thread na neodređeno vrijeme i kasnije ga opet pokrenut, sad koristim suspend i resume i javlja mi warning, i zbog toga mi povremeno ne izlazi iz programa ispravno
Po novoj (khm) .Net specifikaciji to bi trebalo izgledati otprilike ovako.
public partial class Form1 : Form {
private BackgroundWorker worker;
public Form1() {
InitializeComponent();
worker = new BackgroundWorker();
worker.WorkerSupportsCancellation = true;
worker.WorkerReportsProgress = true;
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);
}
private void worker_ProgressChanged(object sender, ProgressChangedEventArgs e) {
this.Text = this.BackColor.Name; }private void worker_DoWork(object sender, DoWorkEventArgs e) {
Random rnd = new Random(Environment.TickCount);
while (worker.IsBusy) {
if (worker.CancellationPending) break;
Thread.Sleep(100);
this.BackColor = Color.FromArgb(0xff, Color.FromArgb(rnd.Next(0, int.MaxValue)));
worker.ReportProgress(0);
}
}
private void button1_Click(object sender, EventArgs e) { worker.RunWorkerAsync(); }
private void button2_Click(object sender, EventArgs e) { worker.CancelAsync(); }
}