我这里显示port_DataReceived没有与委托SerialDataReceivedEventHandler显示的重载

        /*************非常重要(串口接收事件)*************/
        serialPort1.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);//必须手动添加事件处
    }

    private void port_DataReceived(object sender, SerialErrorReceivedEventArgs e)//串口数据接收事件
    {
        if (!radioButton3.Checked)//如果接收模式为字符模式
        {
            string str = serialPort1.ReadExisting();//以字符串形式接收
            textBox1.AppendText(str);//相当于textBox1.Text+=str;//添加内容
        }
        else//如果接受模式为数值接收
        {
            byte data;
            data = (byte)serialPort1.ReadByte();//此处需要强制类型转换,
                                                //将int类型转换为byte类型
            string str = Convert.ToString(data, 16).ToUpper();//转化为大写16进制字符串
            if (str.Length == 1)
            {
                str = "0" + str;
            }
            else
            {
                str = str;
            }
            textBox1.AppendText("0x"+str);
        }
    }

serialPort1.DataReceived +=后面直接tab键让VS自动生成函数,不要自己乱加参数
SerialErrorReceivedEventArgs 这个类型明显是错误的,应该是串口接收事件,不是串口故障事件