c# - 执行任务并等待返回 whitout 阻塞 GUI
问题描述
为了使示例尽可能简单,我正在运行一个程序,该程序从主线程调用一个函数,该函数将返回一个状态:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(check().ToString());
}
private bool check()
{
Thread.Sleep(5000);
return true;
}
它会按我的意愿工作,它会等待函数完成并显示返回值,但这样做会使 GUI 被锁定并且无法移动。从另一个线程运行它不会阻塞 GUI,但我必须等待结果,所以如果我等待线程完成我回到同样的问题,则 gui 被锁定。
在不阻塞 GUI 的情况下等待函数返回其值的最佳方法是什么?
解决方案
推荐阅读
- python - Parser with ply - 解析器规则简单引用
- shell - if:表达式语法。然后:找不到命令
- c# - 将相同的事件应用于 C# 中的每个项目按钮
- amazon-dynamodb - AWS Appsync - 查询 DynamoDB 的空索引
- python-3.x - 避免张量流中的 ctc_loss 无穷大
- mysql - 使用 MySQL 和 PHP 为学生分配职位
- excel - 如何在 Excel 中计算分钟数组?
- php - 通过在 PHP 中组合两个图像来创建图像
- groovy - 可以直接引用使用@Builder 声明的构建器类吗?
- r - 尝试添加新列时`找不到函数“get <-”`