110,561
社区成员
发帖
与我相关
我的任务
分享
private void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
new Task(delegate
{
Thread.Sleep(2000);
//2秒后再启用按钮
this.BeginInvoke((EventHandler) delegate
{
button1.Enabled = true;
});
}).Start();
}
private void btnConn_Click(object sender, EventArgs e)
{
btnConn.Enabled = false;
//刷新界面
Application.DoEvents();
List<Task> taskList = new List<Task>();
for (int x = 0; x < arrInfos.Length; x++)
{
Task refTask = new Task(Func1, arrInfos[x]);
taskList.Add(refTask);
refTask.Start();
Thread.Sleep(100);
}
Task.WaitAll(taskList.ToArray());
btnConn.Enabled = true;
}
private void btnConn_Click(object sender, EventArgs e)
{
btnConn.Enabled = false;
Application.DoEvents();
List<Task> taskList = new List<Task>();
for (int x = 0; x < arrInfos.Length; x++)
{
Task refTask = new Task(Func1, arrInfos[x]);
taskList.Add(refTask);
refTask.Start();
Thread.Sleep(100);
}
Task.WaitAll(taskList.ToArray());
btnConn.Enabled = true;
}
private async void btnConn_Click(object sender, EventArgs e)
{
btnConn.Enabled = false;
await Task.Factory.StartNew(() =>
{
List<Task> taskList = new List<Task>();
for (int x = 0; x < arrInfos.Length; x++)
{
Task refTask = new Task(Func1, arrInfos[x]);
taskList.Add(refTask);
refTask.Start();
Thread.Sleep(100);
}
});
btnConn.Enabled = true;
。net framework 4.5或版本以上。