因为子窗体加载的数据查询较慢,如果不用异步的话, 直到子窗体的数据加载完毕才会跳出窗体,这样想在父窗体加入 加载中的控件不好实现
而在子窗体内加入加载中的标识控件就相对容易了
仅仅在子窗体内用Form_Shown load没用异步的话是不行的,要用
await Task.Run(() =>. 并且 下边的异步中还不能加入控件直接赋值,会出现线程无法找到问题,而变量没问题 使用invote 也是不行的. await 意思是等待异步,但不会导致主线程卡掉.
uiWaitingBar1.Visible = true; await Task.Run(() => { infos= server.GetData(xxx); }); uiWaitingBar1.Visible = false; datagridview.DataSource = detailsinfos;
异步方法写法 带返回整型
public static async Task<int> UpdateAsync(string _packageFileName, string ProgramDirectoryName) { int count = 0; await Task.Run(() => { count = Update(_packageFileName, ProgramDirectoryName); }); return count; }
调用
int result = await UpdateAsync(uiTextBox1.Text.Trim(), lc[i].FileDirectory);
https://zhuanlan.zhihu.com/p/543188031
技术交流qq群:143280841
分类:
winform sunnyui
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2017-04-04 sharpsvn 继续,解决文件locked 问题,