我刚学习c#一周,主要是为了搞一个上位机的编程。上位机主要实现的功能就是一个定位显示界面。接收串口的数据然后然后根据坐标在界面上显示,同时可以往串口发数据进行配置。我现在碰到的问题主要有两个方面:
1 多窗口之间数据交换,因为我有一个主窗体用来进行位置显示,但是我还有两个子窗体(在菜单项中打开),子窗体主要负责的是往串口发数据进行配置。 我现在遇到的问题就是如何实现主窗体间和子窗体共享串口发来的数据,这个功能怎么实现。2 我想实现串口组件实现的收发数据的功能,但是串口组件怎么用,接收到的数据放到哪处理,放到主窗体吗?(问题很菜鸟,别介意啊)我的界面如下:
首先是主窗体:然后是其中的一个子窗体:
http://hi.csdn.net/attachment/201104/14/2618343_130276379538Fm.png我在这里谢谢大家了。

解决方案 »

  1.   

    lz刚学一周、又看到lz的问题,发现我更菜鸟....
      

  2.   

    不知道Lz原来用的哪种语言
    跟窗口无关,可以写一个静态类,专门负责串口数据的收发和存储,这样在任意多个窗体内可以共享!
    仅提供一个思路,以前其他语言用的MSComm32.Ocx,C#貌似有专门的串口操作类,你可以查一下!
      

  3.   

    关于窗口传值的变量问题可以考虑使用全局变量。
    可以建立一个类,专门用来存放这些值。
    或者是比如你想把主窗体的值传递到子窗体中应该//这个是主窗体中菜单点击后需要弹出子菜单时写的
    frmFirs frmF1 = new frmFirs();
    this.Hide();
    frmF1 .ShowDialog(this);//这个是在子菜单的load中写的。
    frmMian fs = (frmMian)this.Owner;
    string str = fs.str;对于串口组件的问题,没太整过,我觉得应该是有dll的把,
    如果有就在“引用”中右键然后添加引用
    然后在需要用的窗体中引用这个dll比如using SoftDream.Tools.db;
    然后在类中进行操作
      

  4.   

    建议采用mvc体系实现,数据放到module中,不同窗体用不同数据表现绘制
      

  5.   

    1.写一个基类,基类中传递数据
    2.很多其它的方法,窗口之间传递数据,你可以写一个类,用这个对象保存
     串口组件怎么用。
    using System.IO.Ports;看看SerialPort组件
      

  6.   

    谁能告诉我private void panel1_Paint(object sender, PaintEventArgs e)它的委托是啥啊 在哪里可以找到??