Какой лучший способ сделать троббер в C #? - PullRequest
3 голосов
/ 13 сентября 2008

В частности, я хочу сделать так, чтобы значки для узлов в моем элементе управления System.Windows.Forms.TreeView работали в процессе длительной загрузки.

1 Ответ

4 голосов
/ 13 сентября 2008

Если вы загружаете каждый кадр в 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();
    }

Очевидно, есть несколько способов реализовать это, но вот основная идея.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...