以下是引用TonyDeng在2012-9-24 15:38:09的发言:
首先你要给自己一个理由:为什么要在某处隔层指挥别的对象?
是归属于Container1指挥的,本来就不该在Form1中超越Container1去操纵CommandButton1,Form1在逻辑上只应向Container1发指令,再由Container1按照指令操纵CommandButton1。偶然越级指挥一下,只是临时应变措施,不宜作为常规手段,那是在快速开发时避免写过多封装代码而迁就的,故没有按照完全面向对象的规范把CommandButton1隱藏起来不让外层看见,而让它直接被Form1看见,这已经没严格守规矩了,更不应该寻求跳越多层去遥控更远的对象。用BindEvent()托管,我已经说过那是非常规措施,不宜多用。正路就开辟类设计,构造好管理架构,再简单的封装,哪怕仅仅容器中只有一个控件,也设计一个类。
以事物本身的逻辑来设计,不是以操作方便来设计。
首先你要给自己一个理由:为什么要在某处隔层指挥别的对象?
是归属于Container1指挥的,本来就不该在Form1中超越Container1去操纵CommandButton1,Form1在逻辑上只应向Container1发指令,再由Container1按照指令操纵CommandButton1。偶然越级指挥一下,只是临时应变措施,不宜作为常规手段,那是在快速开发时避免写过多封装代码而迁就的,故没有按照完全面向对象的规范把CommandButton1隱藏起来不让外层看见,而让它直接被Form1看见,这已经没严格守规矩了,更不应该寻求跳越多层去遥控更远的对象。用BindEvent()托管,我已经说过那是非常规措施,不宜多用。正路就开辟类设计,构造好管理架构,再简单的封装,哪怕仅仅容器中只有一个控件,也设计一个类。
以事物本身的逻辑来设计,不是以操作方便来设计。
哈哈 老大你说的真好 我试验了这么就发现要封装就彻底点 别拖泥带水 不然在调度界面元素时很麻烦啊。
梅尚程荀
马谭杨奚