窗口传值方法(socket多窗口共用)

在一次项目中需要用到socket通信,而且是串口服务器中使用,也就是说本质还是串口通信,只是我们在代码中完全作为socket通信来编写。切入正题,由于要在两个页面中都去访问同一个串口服务器的端口,而且还会再次返回第一个窗口(主窗口),因此socket的使用就要特别小心,本来是想分别在自己窗口new一个连接,但是会有关闭释放的问题,不关闭的话又会存在阻塞占用等情况,所以最好的办法就是把第一个窗口也就是主窗口中建立的socket传给第二个窗体,这样即使返回第一个窗体连接依旧可以正常使用。

首先在第二个窗口中定义如下变量

    private  Socket _socket;

    public Socket MySocket 
    {
       get return _socket; }
       set { _socket = value; }
    }
    第二步在第一个窗体调用第二个窗体的地方加上如下代码,其中socket是第一个窗体中定义的socket变量
   form2.MySocket=socket;

    最后在第二个人窗体就可以直接使用MySocket作为socket连接来使用了,其他的值也可以用类似方法传递

你可能感兴趣的:(编程基础)