[英]Display a message for 3 seconds and then continue
我有一個非常簡短的方法,可以從數據庫中刪除一條記錄,如果成功,則會向用戶顯示一條消息以確認該記錄已被刪除......
private void BtnConfirmDelete_Click(object sender, RoutedEventArgs e)
{
// Hide "Record deleted" message
lblDeleteSuccessful.Visibility = Visibility.Hidden;
// Call interface method to delete record
Record recInstance = new Record();
recInstance.DeleteItemFromDatabase<Record>(recordNum);
// Display "Record deleted" message
lblDeleteSuccessful.Visibility = Visibility.Visible;
}
我努力了...
private void Delay()
{
// Will delay for 3 seconds
DateTime timeNow = DateTime.Now;
DateTime afterDelay = timeNow.AddSeconds(3);
do
{
// Nothing !!!
} while (timeNow != afterDelay);
}
... 和...
private void Delay()
{
int delay = 3000; // Three seconds
Thread.Sleep(delay);
}
...但這些都不起作用。
有沒有辦法做到這一點??
看起來您正在使用 WPF 之類的東西。
如果您使用的是 Thread.Sleep,整個線程將停止。 因此,如果您在 UI-Thread 中調用 Delay 方法,它將凍結並且您不會在 UI 中看到任何變化。
相反,您可以在不同的線程中運行代碼,以便 UI 線程能夠同時更改 UI。
這是使用異步方法實現此目的的一種方法:
private async Task ToggleVisibilityForThreeSeconds()
{
lblDeleteSuccessful.Visibility = Visibility.Visible;
await Task.Delay(3000);
lblDeleteSuccessful.Visibility = Visibility.Hidden;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.