C#子窗体刷新父窗体机制

子窗体刷新父窗体的功能,在做 WinForms 项目的时候用得还挺频繁的。比如子窗体点了保存,你父窗体那边的列表立马更新,对吧?用委托搞定,思路也不复杂。

C#的委托机制比较灵活,简单来说,就是把一个方法当参数传来传去。这里定义个DoAction类型的委托,专门让子窗体能回头调用父窗体的方法,刷新界面。

父窗体里写个_Refresh方法,比如更新下TreeView控件的显示。操作不复杂,逻辑清晰,响应也快。关键是这个方法要留着给子窗体调用。

在子窗体那边,把父窗体的_Refresh方法绑到刚刚定义的委托上。等子窗体关闭的时候,就让它顺手调一下这个委托,父窗体自然就刷新了。

不过有个坑要避开:new Form1()._Refresh这样写是新建了个窗体实例,不是原来的父窗体哦!实际开发中得传个父窗体的引用进来,才能正常触发刷新。

如果你做的 WinForms 应用里有多个窗体交互,推荐你试试这种委托方式,挺清爽的,扩展性也不错。实在不行,事件那套也能上,但委托真的够用了。

txt 文件大小:453B