在C#中做th子的最佳方法是什么?
时间:2020-03-05 18:52:36 来源:igfitidea点击:
具体来说,我想要做的是在进行长时间的加载操作时,使System.Windows.Forms.TreeView控件中Node的图标跳动。
解决方案
回答
如果将每个帧加载到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(); }
显然,有多种方法可以实现此目的,但这是基本思想。