【发布时间】:2015-09-09 14:15:56
【问题描述】:
我有一个“开始”按钮,当我单击时,该按钮立即被禁用,我需要延迟 5 秒才能重新启用该按钮。
开始按钮(启用)----点击---->开始按钮(禁用)-----等待5秒----->开始按钮(启用)。
我正在使用按钮单击处理程序:
我尝试了以下方法:
public async void OnStartClick(object sender, EventArgs e)
{
Button button = (Button) sender;
button.IsEnabled = false;
Task taskA = Task.Factory.StartNew(() => DoSomeWork(10000000));
taskA.Wait(5000);
button.IsEnabled = true;
}
static void DoSomeWork(int val)
{
Thread.SpinWait(val);
}
public async void OnStartClick(object sender, EventArgs e)
{
Button button = (Button) sender;
button.IsEnabled = false;
System.Threading.Thread.Sleep(5000);
button.IsEnabled = true;
}
这些工作中的任何一个都有效吗?实现延迟(要求)的难易程度。
谢谢!
【问题讨论】:
标签: c# multithreading xaml xamarin