我想讓用戶等待5秒鐘,然後用戶可以做某些事情,但由於我不想做Thread.Sleep(5000);
,因此我遇到了麻煩,因爲我希望表單加載和功能是可見的,但我不想讓用戶做這些5秒(以及他們可以嘗試點擊按鈕,但什麼都不應該發生)。Windows窗體在顯示消息之前等待5秒鐘
我做了什麼,使這項工作(我的代碼略有不同,由於屬性)感謝回答者:
var t = Task.Delay(1000) //1 second/1000 ms
t.Wait();
我想讓用戶等待5秒鐘,然後用戶可以做某些事情,但由於我不想做Thread.Sleep(5000);
,因此我遇到了麻煩,因爲我希望表單加載和功能是可見的,但我不想讓用戶做這些5秒(以及他們可以嘗試點擊按鈕,但什麼都不應該發生)。Windows窗體在顯示消息之前等待5秒鐘
我做了什麼,使這項工作(我的代碼略有不同,由於屬性)感謝回答者:
var t = Task.Delay(1000) //1 second/1000 ms
t.Wait();
那麼你可以隨時禁止所有形式和5秒後啓用...
(例如使用.NET Framework 4.5)
//Your window Constructor
public MyWindow()
{
InitializeComponent();
this.Cursor = Cursors.WaitCursor;
this.Enabled = false;
WaitSomeTime();
//load stuff
.....
}
public async void WaitSomeTime()
{
await Task.Delay(5000);
this.Enabled = true;
this.Cursor = Cursors.Default;
}
聽起來好像要被5秒後駁回了閃屏。
有在網絡上,顯示方法來創建一個WinForms閃屏(這是不容易,因爲它聽起來),包括
http://mrbool.com/how-to-make-a-splash-screen-in-csharp/26598
你可以有一個計時器只是不少資源5秒後通知啓動屏幕加載完成。
讓你的構造函數調用一個後臺工作,並在工作完成的事件中加載你的主窗體。
聽起來就像你試圖做一些事情,我們/用戶不會喜歡:P – Jason
@Jason,我知道對不對:D!幸運的是,這個程序永遠不會被使用,它只是一個練習。 – Zain