Pregunta

Específicamente, lo que estoy buscando hacer es hacer que los íconos de los Nodos en mi control System.Windows.Forms.TreeView vibren mientras se lleva a cabo una operación de carga prolongada.

¿Fue útil?

Solución

Si carga cada cuadro en una ImageList, puede usar un bucle para actualizar cada cuadro.Ejemplo:

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

Obviamente hay más de unas pocas maneras de implementar esto, pero aquí está la idea básica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top