3
具體來說,我正在做的是使我的System.Windows.Forms.TreeView控件中的節點的圖標在長時間加載操作發生時跳動。在C#中做事情的最佳方式是什麼?
具體來說,我正在做的是使我的System.Windows.Forms.TreeView控件中的節點的圖標在長時間加載操作發生時跳動。在C#中做事情的最佳方式是什麼?
如果將每個幀加載到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(); }
顯然有不止幾個方式來實現這一點,但這裏的基本思想。
再看一遍,您應該在增加圖像索引之前,確實檢查圖像索引是否在imagelist.images計數的範圍內。 – 2008-09-13 03:19:53