سؤال

على وجه التحديد ما أتطلع إلى القيام به هو جعل أيقونات العقد الموجودة في نظام التحكم 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