public button_config(string porta, ref Comandos comandosReferencia) { InitializeComponent(); serialPort1.PortName = porta; serialPort1.Open(); comandos = comandosReferencia; }
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(); } } } }