主程序中,通过按钮 Button1 打开子窗体 SubForm.cs 。
然后,在此子窗体的 SubForm_Load 装载事件中,
我进行了初始化 SerialPort 的 COM 端口的操作,并且 open 打开了此端口
问题是第一次弹开此窗体时,端口状态显示 “COM1打开正常”,当我关闭此窗体,第二次及以后再打开此窗体时,端口状态就一直显示 “COM1打开失败”,为什么每次都只是第一次弹开此窗体时,端口能打开,关闭后,再次打开,端口就不能打开呢。
------------------------------------------------------------------ SerialPort m_portA;
 
 private void SubForm_Load(object sender, EventArgs e)
        {
           
            InitialComPort();//初始化端口
            OpenComPorts(); //打开端口        } public void InitialComPort()
        {
            
            m_portA = new SerialPort();
            m_portA.PortName = "COM1";
            m_portA.BaudRate = 9600;//波特率
            m_portA.Parity = Parity.Even;//偶校验位
            m_portA.DataBits = 7;//7个数据位
            m_portA.StopBits = StopBits.Two;//二个停止位
            m_portA.ReadBufferSize = 1024;
            m_portA.RtsEnable = true;
            m_portA.DtrEnable = true;
            m_portA.Handshake = Handshake.None;//控制协议 无
            m_portA.ReceivedBytesThreshold = 1;
            m_portA.ReadTimeout = 5000;
            m_portA.WriteTimeout = 5000;
            m_portA.DataReceived += new SerialDataReceivedEventHandler(m_portA_DataReceived);
       }  public void OpenComPorts()
        {
            if (m_portA.IsOpen == false)
            {
                try
                {
                    m_portA.Open();
                    this.lblok1.Text = "COM1打开正常!";                }
                catch
                {
                    this.lblok1.Text = "COM1打开失败!";
                }
            }
                   }