C#에서 throbber를 수행하는 가장 좋은 방법은 무엇입니까?
문제
특히 제가 하려는 작업은 긴 로딩 작업이 진행되는 동안 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(); }
분명히 이를 구현하는 방법은 여러 가지가 있지만 기본 아이디어는 다음과 같습니다.
제휴하지 않습니다 StackOverflow