问题描述
最近在学winform各位大神我想实现的是这样的功能。在Form1中存放一个集合。这个集合里的元素个数实时更新并且不断的传递给Form2使得form2中的接收数组也实时更新。求各位大神指点
解决方案
解决方案二:
Form1中的集合设置为一个公开的属性,使得在Form2中可以访问到这个集合中的元素
解决方案三:
楼上的方法就可以或者通过Form1中封装一个方法,然后通过委托调用获取
解决方案四:
引用1楼yaotomo的回复:
Form1中的集合设置为一个公开的属性,使得在Form2中可以访问到这个集合中的元素
谢谢么么哒
解决方案五:
引用2楼xunzaosiyecao的回复:
楼上的方法就可以或者通过Form1中封装一个方法,然后通过委托调用获取
谢谢回复委托这里我一直很蒙太菜
解决方案六:
你这种情况,不适合用1楼的,最适合用二楼的方法,毕竟是跨窗体的,使用1楼的全局变量方法,一方面不容易保护数据内容,另一方面,如果你传递的东西越来越多,还存在耗时操作的话,在第二个窗体中可能会卡顿!是用委托,多线程或者异步操作,才是王道!
解决方案七:
引用5楼Trent1985的回复:
你这种情况,不适合用1楼的,最适合用二楼的方法,毕竟是跨窗体的,使用1楼的全局变量方法,一方面不容易保护数据内容,另一方面,如果你传递的东西越来越多,还存在耗时操作的话,在第二个窗体中可能会卡顿!是用委托,多线程或者异步操作,才是王道!
委托你也可以实现实时传递吧。每更新一个就穿过去一个。
解决方案八:
委托当然好用,但是对于初学者比较难。我用的并不是全局变量的方法,而是属性的方法。
解决方案九:
一般跨窗体的界面刷新都是用异步或者多线程实现的,你用的方法虽然可以实现,但是在较多数据量和耗时操作的时候,会出问题,比如form2界面完全卡死等等!还有,多线程和异步的效果是这样的:只要form1的结果值发生了变化,form2就会刷新界面!
解决方案十:
我知道委托很好用,我平时都用委托。
时间: 2024-09-10 13:11:02