Domanda

Nello specifico, quello che sto cercando di fare è far vibrare le icone dei nodi nel mio controllo System.Windows.Forms.TreeView mentre è in corso una lunga operazione di caricamento.

È stato utile?

Soluzione

Se carichi ciascun fotogramma in un ImageList, puoi utilizzare un ciclo per aggiornare ciascun fotogramma.Esempio:

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

Ovviamente ci sono più di un paio di modi per implementarlo, ma ecco l'idea di base.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top