Exemplo n.º 1
0
        private void loadComPorts()
        {
            using (var searcher = new ManagementObjectSearcher
                                      ("SELECT * FROM WIN32_SerialPort"))
            {
                var ports = searcher.Get().Cast <ManagementBaseObject>().ToList();
                var tList = (from n in portnames
                             join p in ports on n equals p["DeviceID"].ToString()
                             select n + " - " + p["Caption"]).ToList();


                for (int i = 0; i < portnames.Length; i++)
                {
                    if (i < tList.Count)
                    {
                        checkedListBox1.Items.Add(tList[i].ToString());
                    }
                    else
                    {
                        checkedListBox1.Items.Add(portnames[i].ToString());
                    }

                    EnhancedSerialPort _serialPort = new EnhancedSerialPort(portnames[i].ToString());


                    DetectedSerialPorts.Add(new KeyValuePair <string, EnhancedSerialPort>(portnames[i], _serialPort));
                }
            }
        }
Exemplo n.º 2
0
        private void DateTimeUserControl1_SendMessageToSerialPort(object sender, SendComMessageEventArgs e)
        {
            Console.WriteLine(e.Message);

            KeyValuePair <string, EnhancedSerialPort> _p = ListenSerialPorts.SingleOrDefault(kvp => kvp.Key == e.SerialPort);

            EnhancedSerialPort _port = _p.Value;

            _port.NewLine = "\n";

            _port.WriteLine(e.Message);



            rtxtComConsole.Text = string.Concat(rtxtComConsole.Text, "->", e.SerialPort, " : ", e.Message, "\r\n");
        }
Exemplo n.º 3
0
        private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            var portslist = (CheckedListBox)sender;


            if (e.NewValue == CheckState.Checked)
            {
                KeyValuePair <string, EnhancedSerialPort> x = DetectedSerialPorts.SingleOrDefault(kvp => kvp.Key == portnames[e.Index]);

                EnhancedSerialPort _port = x.Value;

                _port.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

                try
                {
                    _port.Open();

                    ListenSerialPorts.Add(new KeyValuePair <string, EnhancedSerialPort>(portnames[e.Index], _port));

                    foreach (UserControl control in flowLayoutPanel1.Controls.OfType <ICommuniquant>())
                    {
                        (control as DateTimeUserControl).AddPort(portnames[e.Index]);
                    }
                }
                catch (Exception ex) {
                    e.NewValue = CheckState.Unchecked;
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                KeyValuePair <string, EnhancedSerialPort> _port = ListenSerialPorts.SingleOrDefault(kvp => kvp.Key == portnames[e.Index]);

                (_port.Value as EnhancedSerialPort).Close();

                ListenSerialPorts.Remove(ListenSerialPorts.SingleOrDefault(kvp => kvp.Key == portnames[e.Index]));

                foreach (UserControl control in flowLayoutPanel1.Controls.OfType <ICommuniquant>())
                {
                    (control as DateTimeUserControl).RemovePort(portnames[e.Index]);
                }
            }
        }