0
我有一個C#Winforms窗體,有大量的自定義控件大約需要10秒才能加載。現在,當我點擊菜單項打開我的表單時,菜單凍結了10秒,然後彈出窗體準備就緒。我想要做的是以下幾點:只要你點擊相應的菜單項打開我的表單,我想立即顯示錶單,但也許只是一個紅色的背景,沒有控制它。然後表單可以開始嘗試加載我的所有控件。這樣用戶就會看到他們的鼠標點擊打開了新窗體,並且看起來並不像整個應用程序凍結。將它移動到新線程不是一個選項。如何才能使窗體的控件不加載,直到至少顯示窗體的框架?
你可以加載一個 「加載」 形式的動畫,讓對方知道它的負荷,然後從該表單加載您的表單。 –
你說「將它移動到新線程不是一個選項」。這是真的,因爲你只能有一個UI線程,但是在你的代碼中有其他限制阻止使用後臺線程嗎? – rene
在這種情況下,已經有一個非常好的方法來提供適當的反饋。它是一個單線程:'Cursor.Current = Cursors.WaitCursor;' –