//force quit form
        protected override void WndProc(ref Message msg)
        {
            const int WM_SYSCOMMAND = 0x0112;
            const int SC_CLOSE      = 0xF060;

            if (msg.Msg == WM_SYSCOMMAND && ((int)msg.WParam == SC_CLOSE))
            {
                usb.CloseCom();
                isExit = true;
            }
            base.WndProc(ref msg);
        }
        private void portButton_Click(object sender, EventArgs e)
        {
            if (portFxCheckBox.Checked)
            {
                if (!isOpen)
                {
                    try
                    {
                        Boolean isOpenSuccess = usb.SetCom(portComboBox1.SelectedItem.ToString()) && usb.SetCom_two(portComboBox2.SelectedItem.ToString()) && usb2.SetCom(portComboBox3.SelectedItem.ToString());
                        if (isOpenSuccess)
                        {
                            isOpen = true;
                            ToggleControls(true);
                            portButton.Text = "Close";

                            sendCount = 1;
                        }
                        else
                        {
                            isOpen = false;
                            usb.CloseCom();
                            usb2.CloseCom();
                            usb.CloseCom_two();
                            ToggleControls(false);
                            portButton.Text = "Open";
                            //  MetroMessageBox.Show(this, "\r\n\r\n" + "The equipment was unable to connect. Please check the USB connection", "Error", MessageBoxButtons.OK);
                        }
                    }
                    catch
                    {
                        MetroMessageBox.Show(this, "\r\n\r\n" + "The equipment was unable to connect. Please check the USB connection", "Error", MessageBoxButtons.OK);
                        // return;
                    }
                }
                else
                {
                    usb.CloseCom();
                    usb2.CloseCom();
                    usb.CloseCom_two();
                    ToggleControls(false);
                    portButton.Text = "Open";
                    isOpen          = false;
                }
            }
            else
            {
                if (!isOpen)
                {
                    try
                    {
                        Boolean isOpenSuccess = usb.SetCom(portComboBox1.SelectedItem.ToString()) && usb.SetCom_two(portComboBox2.SelectedItem.ToString());
                        if (isOpenSuccess)
                        {
                            isOpen = true;
                            ToggleControls(true);
                            portButton.Text = "Close";

                            sendCount = 1;
                        }
                        else
                        {
                            timerDraw.Stop();
                            test_timer.Stop();

                            isOpen = false;
                            usb.CloseCom();
                            usb.CloseCom_two();
                            ToggleControls(false);
                            portButton.Text = "Open";
                            // MetroMessageBox.Show(this, "\r\n\r\n" + "The equipment was unable to connect. Please check the USB connection", "Error", MessageBoxButtons.OK);
                        }
                    }
                    catch
                    {
                        MetroMessageBox.Show(this, "\r\n\r\n" + "The equipment was unable to connect. Please check the USB connection", "Error", MessageBoxButtons.OK);
                        // return;
                    }
                }
                else
                {
                    timerDraw.Stop();
                    test_timer.Stop();

                    usb.CloseCom();
                    usb2.CloseCom();
                    usb.CloseCom_two();
                    ToggleControls(false);
                    portButton.Text = "Open";
                    isOpen          = false;
                }
            }
        }