private void animateSquaresAfterConvertin(List<Point> lstOfConvertedNowPoints) { foreach (Point p in lstOfConvertedNowPoints) { animateThisSquarePoint(p); } } private void animateThisSquarePoint(Point p) { BackgroundWorker bgw = new BackgroundWorker(); lstBackgroundWorkersAnimate.Add(bgw); bgw.DoWork += Bgw_DoWork; bgw.RunWorkerCompleted += Bgw_RunWorkerCompleted; bgw.RunWorkerAsync(p); } List<BackgroundWorker> lstBackgroundWorkersAnimate = new List<BackgroundWorker>(); private void Bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { lstBackgroundWorkersAnimate.Remove(sender as BackgroundWorker); (sender as BackgroundWorker).Dispose(); } Pen penForBGWAnimate = new Pen(Color.Purple); private void Bgw_DoWork(object sender, DoWorkEventArgs e) { Point p1 =(Point) e.Argument; g.DrawRectangle(penForBGWAnimate, p.X + S.Width * p1.X, p.Y + S.Height * p1.Y, S.Width, S.Height); System.Threading.Thread.Sleep(300); drawSquare(p1.X, p1.Y); Debug.WriteLine(p1.X.ToString()+p1.Y.ToString()); }
Bgw_DoWork
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)