同一个窗口多次实例化后,我怎么去区分实例我有多组数据分别显示在不同的实例窗口中,如何区分每个实例
如:DimDBMAsNewDeviceBatchMonitorDBM.Show()用以上代码多次调用产生多个实例...
如:Dim DBM As New DeviceBatchMonitor
DBM.Show()
用以上代码多次调用 产生多个实例 展开
DBM.Show()
用以上代码多次调用 产生多个实例 展开
1个回答
展开全部
每一个实例都会有一个对象名(其实是个指针),你如果循环调用上面的语句,指针就丢了,只有最后一个实例才能引用到,前边的不能引用到,没法操作,有父窗口,父窗口貌似保存子窗口对象指针,可以找到,没有父窗口貌似没办法,一个实例如果没有指针,那是没法操作的。。。。
所以建立多个实例,必须先声明多个对象,然后用不同的对象名去实例化,这样可以找到,或者存到链表或数组里 。。。比如数组 form[10],代表十个实例,那from[i].成员 就可以操作了。。。
所以建立多个实例,必须先声明多个对象,然后用不同的对象名去实例化,这样可以找到,或者存到链表或数组里 。。。比如数组 form[10],代表十个实例,那from[i].成员 就可以操作了。。。
追问
Num += 1
Dim DBM(99) As DeviceBatchMonitor
DBM(Num) = New DeviceBatchMonitor
DBM(Num).Show()
如上这样,在父窗口创建实例对象数组?
在父窗口创建的实例对象,在子窗口怎么调用实例啊?
追答
你想分别显示,只要在主窗口类内,写代码就行了,由主窗口调用副窗口实例的显示相关的成员就行了,一个副窗口要调用另一个不是自己实例化的窗口,就要先引用到这个窗口,这要在副窗口类内添加引用代码,不推荐,一般也没必要。。。。。。。。
还有你可能混淆了一个问题,主副窗口,和父子窗口不是一个概念。。。。。主窗口是进程窗口也就是FORM1,是进程建立时打开的窗口,关闭它就等于关闭进程,所以主窗口总是存在的,只要进程在运行,就有主窗口,主窗口实例化的窗口全是副窗口,如果没有打开MDI,主副窗口是平级的,没有父子关系。。。。。父子窗口时多文档技术中的内容,主要是参考坐标的问题,顶级窗口坐标是参考显示器的,顶级窗口会有子窗口,这个子窗口位置坐标是参考父窗口的,也就是不能在副窗口外显示,如果你玩过游戏,就很好解释,游戏会有个顶级窗口,也就是游戏界面,他是父窗口,在游戏中你可能要代开背包,打开人物属性栏,这个背包和属性栏也是个窗口,他们才叫做子窗口,他们显然可能被拖出游戏界面,父窗口关闭,子窗口也全部释放,子窗口也可以有子窗口。。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询