问题描述
我先建立一个主窗口mainform,内添加一个容器panel。然后panel里载入多个窗口form1.form2,form3等(此时这些窗口的toplevel=false),即可实现在主窗口内不同窗口的切换而不需要弹出窗口。那么问题来了:如何实现mainform窗口与这些子窗口的实时数据传输(mainform窗口内入职改变,子窗口数据也同时改变,反之亦然)有查资料,如果选取弹出窗口的形式,而不是将这些子窗口放入Panel容器中,用事件event,或者form1.owner=this的形式即可实现数据实时传递。本人还没入门,各位见笑了
解决方案
解决方案二:
设置static参数,所有窗体从一个地方取值
解决方案三:
引用1楼starfd的回复:
设置static参数,所有窗体从一个地方取值
设置了参数static后如何让子窗口实时查看这个参数的变化而不是非得进行如点击之类的操作如何对static参数设置改变事件
解决方案四:
如果你要发生变化子窗体实时变化的话,可以设定一个类,然后注册事件,观察者部分可以参考下面的
解决方案五:
你所谓“如果选取弹出窗口的形式.....“是怎样处理的,那么现在还怎样处理呗。要按照原来的思路去编程。不用多想,先要实际去按照窗口的操作去亲自实践,如果实践中有问题再来问,不要让人一眼就看出你仅是懒得动手、所以先担忧这也不行那也不行。
解决方案六:
用form1.owner=this,加上public属性,通过senderasForm2等方式访问属性。或者用static全局共享。还是那个问题,要同步,要么主动轮询,要么注册监听接收改变通知。
解决方案七:
引用4楼sp1234的回复:
你所谓“如果选取弹出窗口的形式.....“是怎样处理的,那么现在还怎样处理呗。要按照原来的思路去编程。不用多想,先要实际去按照窗口的操作去亲自实践,如果实践中有问题再来问,不要让人一眼就看出你仅是懒得动手、所以先担忧这也不行那也不行。
窗口形式可以实现实时数据传输,尝试过了没问题。只是将窗体嵌入panel控件之后,把窗口的toplevel=false,非顶层的控件是没有owner的,所以form1.Owner=this是不可行的
解决方案八:
直接子窗口存个mainform