/* override system windows message of Serial put in or pull out */ protected override void DefWndProc(ref Message m) { if (m.Msg == (int)WMS.WM_DEVICECHANGE) //device state change, put in or pull out { if (m.WParam.ToInt32() == (Int32)DBT.DBT_DEVICEREMOVECOMPLETE) //USB serial device remove { btnChangeCloseUartUI(); com.ClearUIAsyncHandle(); dsPortName.DataSource = SelfdefSerial.GetPortNames(); } else if (m.WParam.ToInt32() == (Int32)DBT.DBT_DEVICEARRIVAL) //USB serial device put in { dsPortName.DataSource = SelfdefSerial.GetPortNames(); } } base.DefWndProc(ref m); }
private void dsPortName_DropDown(object sender, EventArgs e) { string [] portname = SelfdefSerial.GetPortNames(); dsPortName.DataSource = portname; }