Question

Plus précisément, ce que je cherche à faire est de faire vibrer les icônes des nœuds de mon contrôle System.Windows.Forms.TreeView pendant qu'une longue opération de chargement est en cours.

Était-ce utile?

La solution

Si vous chargez chaque image dans une ImageList, vous pouvez utiliser une boucle pour mettre à jour chaque image.Exemple:

    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();
    }

Évidemment, il existe plusieurs façons de mettre en œuvre cela, mais voici l'idée de base.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top