日期:2014-05-17  浏览次数:20722 次

主窗口中一个[控件]被其他[组件]调用的问题
主窗口中有一个[通讯控件](ocx控件),实现基本的通讯功能。
想专门做一个[组件]来完善通讯数据的处理,然后返回给主窗口。
因此[组件]要调用主窗口中[通讯控件]的方法,问题在于这个地方不知道怎么调。
直接写FrmMain.AxDataComm.GetData(...)报错为“非静态的字段、方法或属性“FrmMain.AxDataComm”要求对象引用”
因为此时FrmMain是一个类,而不是一个对象。
但怎么解决这个问题呢?求解答。。

------解决方案--------------------
本帖最后由 bdmh 于 2012-11-23 16:37:23 编辑
做成static方法就可以通过类,不通过实例访问了,不过为了解耦,你可以做一个接口作为适配器(接口隔离),将接口传给你的组件,主窗体中创建接口