C#에서 throbber를 수행하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/60151

  •  09-06-2019
  •  | 
  •  

문제

특히 제가 하려는 작업은 긴 로딩 작업이 진행되는 동안 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