日期:2014-05-19  浏览次数:20996 次

窗口A 打开 窗口B,如何在B 中的刷新窗口A中的Tree呢?
winform   啊。有没有比较简单的方法,如果用委托的话,A   中定义的刷新TREE   的函数是不是必需静态函数?

------解决方案--------------------
好几种办法
1、自定义事件,A订阅事件,B发送消息,然后A就可以刷新
2、调用B的时候,传入窗体A的窗体句柄,窗体A中设有一个Public的刷新TreeView的方法,在窗体B中调用即可。

还有好多种办法
------解决方案--------------------
A 中定义的刷新TREE 的函数是不是必需静态函
============================================
静态函数不能访问实例tree
------解决方案--------------------
静态函数
------解决方案--------------------
最好不要用静态

在构造 BForm的时候把你要更新的 AForm里面要操作的控件用ref object objName 传递给 BFrom 在BFrom中声明一个和传递内容相同的对象,将 ref 传递过来的对象赋给 在BFrom在声明的对象,这样只要对 BForm 中声明的对象进行操作就可以了

------解决方案--------------------
在B页面中做个标记,操作后修改这个标记
如果修改后,则在A窗体打开B窗体后的事件里刷新。
否则不刷新。
------解决方案--------------------
鄙人认为可以更改A一个属性,然后再A属性更改时触发一个事件
------解决方案--------------------
也可以传个句柄过来,如果两个窗口的关系不是特别复杂.
------解决方案--------------------
1委托事件
2全局变量
------解决方案--------------------
http://blog.csdn.net/Knight94/archive/2006/08/22/1104957.aspx