2017-03-04 150 views
0

我有一個GIF加載圖標我嘗試使用當我的窗體的登錄按鈕被按下時。我遇到的問題是,當單擊登錄按鈕並且處理登錄的方法正在運行時,GIF停止工作。我想用C#來做到這一點在Windows窗體中當其他方法正在運行時gif停止工作c#

我已經使用了一種類似於後臺工作試過這一次是怎麼做 https://www.codeproject.com/Articles/33885/Working-with-BackgroundWorker-Creating-Your-Own-Lo

,但它不會讓我的代碼從另一個線程訪問代碼任何幫助,將不勝感激

+1

你可能在運行同一個線程中UI上的登錄功能,所以UI塊。而不是在後臺運行UI(使用backgroundworker動畫gif)運行登錄功能。 – null

回答

0

正如你可以在你的榜樣鏈接查看:

public void Start() 
{ 
    Bw.RunWorkerAsync(); *// this is Async task* 
    newLoading = new LoadingForm(); 
    newLoading.ShowDialog(); 
} 

異步任務將在主線程separatly運行,因此它不會影響LO在主線程中運行的GIF的ading。

這裏有一個答案類似話題:Animated GIF in Windows Form while executing long process

+0

謝謝我做了這個,但我遇到了問題,因爲登錄方法需要訪問由主線程創建的控件。我也嘗試使用新線程切換並打開面板,但使用相同的響應 – Scorpion

相關問題