コード例 #1
0
 public button_config(string porta, ref Comandos comandosReferencia)
 {
     InitializeComponent();
     serialPort1.PortName = porta;
     serialPort1.Open();
     comandos = comandosReferencia;
 }
コード例 #2
0
ファイル: main.cs プロジェクト: igork2kta/IrReceiverArduino
        private void Form1_Load(object sender, EventArgs e)
        {
            //Tenta carregar as configurações, caso não existam, emite uma mensagem
            try{
                comandos = comandos.CarregarComandos();
            }
            catch (FileNotFoundException)
            {
                MessageBox.Show("Configure seu controle para começar a usar!", "Seja bem vindo!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            //Botões do tray icon
            var contextMenu = new ContextMenu();

            contextMenu.MenuItems.Add(new MenuItem("Iniciar conexão", BtnIniciar_Click));
            contextMenu.MenuItems.Add(new MenuItem("Parar conexão", BtnParar_Click));
            contextMenu.MenuItems.Add(new MenuItem("Fechar", Fechar));
            notifyIcon1.ContextMenu = contextMenu;

            //Adiciona as portas seriais encontradas na lista
            string[] ports = SerialPort.GetPortNames();
            cboPorts.Items.AddRange(ports);
            //Verifica os valores para os campos Conectar automaticamente e Iniciar com o windows
            cbConectarAutomaticamente.Checked = Properties.Settings.Default.cbConectarAutomaticamente;
            cbIniciarComWindows.Checked       = Properties.Settings.Default.cbAutoStart;

            if (cbConectarAutomaticamente.Checked == true)
            {
                //Tenta conectar automaticamente na porta utilizada na ultima conexão
                try {
                    if (comandos.ultimaPortaConectada != null && comandos.ultimaPortaConectada != "")
                    {
                        cboPorts.SelectedItem = comandos.ultimaPortaConectada;
                        Conectar();
                        if (connected)
                        {
                            return;
                        }
                    }
                }
                catch { }

                if (cboPorts.Items.Count == 0)
                {
                    //Caso não seja encontrado nada na serial
                    MessageBox.Show("Nenhum dispositivo encontrado.", "Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    lblStatus.Text      = "Não conectado";
                    lblStatus.ForeColor = Color.Red;
                }
                for (int i = 0; i < cboPorts.Items.Count; i++)
                {
                    try {
                        if (connected == true)
                        {
                            break;
                        }
                        if (serialPort1.IsOpen)
                        {
                            serialPort1.Close();
                        }

                        cboPorts.SelectedIndex = i;

                        bool maisTentativas = i == (cboPorts.Items.Count - 1) ? false : true;
                        Conectar(maisTentativas);
                    }
                    catch (Exception ex) {
                        MessageBox.Show(ex.Message, "Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        //Seta o status como não conectado
                        Desconectar();
                    }
                }
            }
        }