具体来说,我想要做的是使 System.Windows.Forms.TreeView 控件中的节点图标在长时间加载操作发生时闪烁。

有帮助吗?

解决方案

如果将每个帧加载到 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();
    }

显然,有多种方法可以实现这一点,但基本思想如下。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top