C#子窗体刷新父窗体机制
子窗体刷新父窗体的功能,在做 WinForms 项目的时候用得还挺频繁的。比如子窗体点了保存,你父窗体那边的列表立马更新,对吧?用委托搞定,思路也不复杂。
C#的委托机制比较灵活,简单来说,就是把一个方法当参数传来传去。这里定义个DoAction
类型的委托,专门让子窗体能回头调用父窗体的方法,刷新界面。
父窗体里写个_Refresh
方法,比如更新下TreeView
控件的显示。操作不复杂,逻辑清晰,响应也快。关键是这个方法要留着给子窗体调用。
在子窗体那边,把父窗体的_Refresh
方法绑到刚刚定义的委托上。等子窗体关闭的时候,就让它顺手调一下这个委托,父窗体自然就刷新了。
不过有个坑要避开:new Form1()._Refresh
这样写是新建了个窗体实例,不是原来的父窗体哦!实际开发中得传个父窗体的引用进来,才能正常触发刷新。
如果你做的 WinForms 应用里有多个窗体交互,推荐你试试这种委托方式,挺清爽的,扩展性也不错。实在不行,事件那套也能上,但委托真的够用了。
453B
文件大小:
评论区