Quelle est la meilleure façon de faire du throbber en C# ?
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.
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