private void Form1_Load(object sender, EventArgs e) { string[] ports = SerialPort.GetPortNames(); //获取电脑上所有串口 Array.Sort(ports); cmb_port.Items.AddRange(ports); //将串口全部添加到下拉框中 cmb_port.SelectedIndex = cmb_port.Items.Count > 0 ? 0 : -1; //默认选项 //sp.PortName = cmb_port.Text; sp.DataReceived += new SerialDataReceivedEventHandler(RecvData); //注册事件,当串口接收到数据时触发 RecvCallBack = new RecvDisplayHandler(RecvDisplay); }
private void Form1_Load(object sender, EventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; //可以跨线程使用 sp = new SerialPort(); timerLoop = new Timer(); string[] ports = SerialPort.GetPortNames(); //获取电脑上所有串口 Array.Sort(ports); cmb_port.Items.AddRange(ports); //将串口全部添加到下拉框中 cmb_port.SelectedIndex = cmb_port.Items.Count > 0 ? 0 : -1; //默认选项 sp.DataReceived += new SerialDataReceivedEventHandler(RecvData); //注册事件,当串口接收到数据时触发 RecvCallBack = new RecvDisplayHandler(RecvDisplay); timerLoop.Tick += new EventHandler(LoopSend); }