C# 2.0
多串口通讯的项目,我先定义了一个串口类,在主窗体实例化多个串口(将其定义为静态的,以便其他窗体可以使用),在多个子窗体中根据需要调用主窗体的串口发送数据,在主窗体中接收数据,子窗体需要同时根据接收数据来作出相应操作,这些子窗体有可能都打开,有可能打开几个,子窗体关闭后再打开,原窗体上的数据不能清空(我在close时hide).我现在将几个需要处理接收数据的窗体定义成静态的,这样在主窗体接收数据时可以直接修改子窗体的控件值.这种方法好吗?还有什么更好一点的方法?

解决方案 »

  1.   

    窗体间传递复杂数据 
    http://www.cnblogs.com/zhenyulu/articles/34044.html
      

  2.   

    to tjvictor:
    就是要很多个串口同时向外发,而且在同一个时间段内接收数据,虽然有地址码可以用来区分,但是在硬件设计时就有相同的地址码存在,所以必须要用多个串口来区分to mobydick:
    看了你的例子,给我一些启发,我还要研究一下看如何能用到我的程序中去,我就是想问一下,如果我把这些子窗体声明成静态的,是不是不太好,除了占内存外还有什么问题?
      

  3.   

    to xlfancy:
    按照你说的用参数传递,是不是只能在子窗体加载的时候获得值,我需要实时获得能做到吗?这块内容我不是很懂.能讲解一下吗?谢谢!
      

  4.   

    lz: 关于net窗体之间的传值,下面的这篇总结讲得很好,给你推荐一下:http://developer.ccidnet.com/art/322/20021224/34599_1.html相信对你有帮助。
      

  5.   

    如果数据复杂应该考虑用对象传递。比如传递DataSet,甚至DataRead。