C# 延迟2秒删除项目
我有一个启用了复选框的列表视图。 当用户检查一个项目时,我需要在两秒钟后删除该项目,而不锁定屏幕C# 延迟2秒删除项目,c#,multithreading,winforms,C#,Multithreading,Winforms,我有一个启用了复选框的列表视图。 当用户检查一个项目时,我需要在两秒钟后删除该项目,而不锁定屏幕 我怎么能做到?我需要使用线程吗?在给定的时间量后,使用计时器执行一些操作。因为这是异步执行操作,而不是同步执行,所以UI线程不会被阻塞 另一个选项是利用等待: private async void checkbox_CheckedChanged(object sender, EventArgs e) { if (checkbox.Checked) { await Ta
我怎么能做到?我需要使用线程吗?在给定的时间量后,使用
计时器执行一些操作。因为这是异步执行操作,而不是同步执行,所以UI线程不会被阻塞
另一个选项是利用等待:
private async void checkbox_CheckedChanged(object sender, EventArgs e)
{
if (checkbox.Checked)
{
await Task.Delay(2000);
RemoveItem();
}
}
使用System.Windows.Forms
命名空间中的
这将在时间过去后在主线程中触发事件,因此您在尝试从其他线程访问表单时不会遇到任何问题。添加计时器并单击事件删除选中项,无需线程