WinForm 使用委托动态更新数据
使用委托动态更新数据
详细代码
// 声明一个委托,用于更新消息的文本提示
private delegate void UpdateMsgTextDelegate(string text);
// 定义一个方法,用于更新控件的文本
private void UpdateMsgText(string text)
{
// 判断是否需要调用Invoke方法
if (this.txtMesage.InvokeRequired)
{
// 创建一个委托实例
UpdateMsgTextDelegate utd = new UpdateMsgTextDelegate(UpdateMsgText);
// 使用Invoke方法来执行委托
this.Invoke(utd, new object[] { text });
}
else
{
// 直接更新控件的文本
this.txtMesage.Text = text;
}
}
用委托更新DataGrideView数据也是一样的写法
// 声明一个委托,用于更新DataGrideView
private delegate void gcRIR2ReflashDelegate(List<RIR2Dto> rIR2Dtos);
// 定义一个方法,用于更新DataGrideView
private void gcRIR2Reflash(List<RIR2Dto> rIR2Dtos)
{
// 判断是否需要调用Invoke方法
if (this.gcRIR2.InvokeRequired)
{
// 创建一个委托实例
gcRIR2ReflashDelegate utd = new gcRIR2ReflashDelegate(gcRIR2Reflash);
// 使用Invoke方法来执行委托
this.BeginInvoke(utd, new object[] { rIR2Dtos });
}
else
{
// 直接更新
this.gcRIR2.DataSource = rIR2Dtos;
}
}
调用代码
///调用时直接调用方法
UpdateMsgText("调用委托更新");
gcRIR2Reflash(rIR2s);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南