Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
int selectedIndex = comboBox1.SelectedIndex;
Object selectedItem = comboBox1.SelectedItem;
serialPort1.PortName = selectedItem.ToString(); //Aquí está los COM1 y COM2 del comboBox.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace Probando_02
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Variables
string pa = "Puerto abiero.";
string pc = "Puerto cerrado. Pulse botón 'Conectar'.";
string des = "Desconectar";
string con = "Conectar";
// int open = 1;
bool open = true;
private void button_on_Click(object sender, EventArgs e)
{
try
{
byte[] mBuffer = new byte[1];
mBuffer[0] = 0x74; //ASCII letra "t".
serialPort1.Write(mBuffer, 0, mBuffer.Length);
button_on.Enabled = false;
button_off.Enabled = true;
label_.Text = "ON";
label_.ForeColor = Color.Green;
}
catch (InvalidOperationException)
{
label_mensaje.Text = pc;
}
}
private void button_off_Click(object sender, EventArgs e)
{
try
{
byte[] miBuffer = new byte[1];
miBuffer[0] = 0x62; //ASCII letra "b".
serialPort1.Write(miBuffer, 0, miBuffer.Length);
button_off.Enabled = false;
button_on.Enabled = true;
label_.Text = "OFF";
label_.ForeColor = Color.Red;
}
catch (InvalidOperationException)
{
label_mensaje.Text = pc;
}
}
private void button_conectar_Click(object sender, EventArgs e)
{
if (open == true) //1
{
open = false; //2
serialPort1.Close();
//if (comboBox1.Items.Count > 0)
//{
// comboBox1.SelectedIndex = 0;
//}
int selectedIndex = comboBox1.SelectedIndex;
Object selectedItem = comboBox1.SelectedItem;
serialPort1.PortName = selectedItem.ToString();
serialPort1.Open();
label_mensaje.Text = pa;
button_conectar.Text = des;
}
else
{
open = true; //1
serialPort1.Close();
label_mensaje.Text = pc;
button_conectar.Text = con;
button_on.Enabled = true;
button_off.Enabled = true;
label_.Text = " ";
}
}
// Desde que arranque la aplicación, se pone en COM1,
// el primero de la lista del comboBox.
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.SelectedIndex = 0;
}
}
}
Moyano Jonathan dijo:Hola a todos , respondiendo las preguntas a cada uno queda mas o menos así:
1° - Meta:
- Detectar los puertos COM, significa que detetecta cada uno de los puertos series fisicos o virtuales que hay en la máquina.
Entendido.
esta es una mejora a tu resultado del combobox , ya que no se limita solamente a 2 puertos.
(Esta detección solamente me ha funcionado en visual basic.net)
Intentaré haber si me sale, puse el COM3 y COM4 y dice que no existe. Para ellos tengo entendido que es mejor entrar y descargar los driver necesario para detectar puertos serie aquí: http://www.ftdichip.com/Drivers/VCP.htm
- El error en portname , a mi me lo da siempre y cuando el puerto este ocupado por otra aplicación, fijate si es eso.
Pon:
serialPort1.Close(); //Cerrar puerto
...
serialPort.Open(); //Abrir puerto.
- Ya entendí lo del radiobutton, me parece una buena opción tambien.
Ya sabré que opinan la gente en la versión final. Es más fácil.
- Lo del try catch, no lo puse porque no me parecio necesario.. ahora la pregunta mia: Que función cumplen esos comandos?
Lee aquí: http://msdn.microsoft.com/es-es/library/0yd65esw.aspx
- Me base en un 100% del manual de visual C#, ya que te explica todo. Pero como dije hice mi programa en VB.net
Veo que te defiende ya hasta con el VB .net que antes eras reacio. Contigo aprenderé algo de VB, ya notarás que el vb .net está mejor.