我有一个启用了复选框的列表视图。 当用户检查项目时,我需要在两秒钟后删除此项目,而不锁定屏幕。
我怎么做?我需要使用线程吗?
答案 0 :(得分:1)
在给定的时间后使用Timer
执行某些操作。因为这是异步执行操作而不是同步操作,所以不会阻止UI线程。
另一种选择是利用await
:
private async void checkbox_CheckedChanged(object sender, EventArgs e)
{
if (checkbox.Checked)
{
await Task.Delay(2000);
RemoveItem();
}
}
答案 1 :(得分:0)
使用System.Windows.Forms
命名空间中的Timer
control。
这将在时间结束时触发主线程中的事件,因此尝试从其他线程访问该表单时不会有任何问题。