Каков наилучший способ сделать троббер на С#?
Вопрос
В частности, я хочу, чтобы значки узлов в моем элементе управления System.Windows.Forms.TreeView пульсировали во время длительной операции загрузки.
Решение
Если вы загружаете каждый кадр в ImageList, вы можете использовать цикл для обновления каждого кадра.Пример:
bool runThrobber = true; private void AnimateThrobber(TreeNode animatedNode) { BackgroundWorker bg = new BackgroundWorker(); bg.DoWork += new DoWorkEventHandler(delegate { while (runThrobber) { this.Invoke((MethodInvoker)delegate { animatedNode.SelectedImageIndex++; if (animatedNode.SelectedImageIndex >= imageList1.Images.Count) > animatedNode.SelectedImageIndex = 0; }); Thread.Sleep(100); } }); bg.RunWorkerAsync(); }
Очевидно, что существует множество способов реализовать это, но вот основная идея.
Не связан с StackOverflow