Torna al Thread

Public Class Form1 Dim WithEvents serialPort As New IO.Ports.SerialPort 'Combobox in cui vengono elencate in apertura di programma le porte COM disponibili Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For i As Integer = 0 To My.Computer.Ports.SerialPortNames.Count - 1 cbbCOMPorts.Items.Add(My.Computer.Ports.SerialPortNames(i)) Next btnDisconnect.Enabled = False End Sub 'Bottone di connessione alla porta COM Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click If serialPort.IsOpen Then serialPort.Close() End If Try With serialPort .PortName = cbbCOMPorts.Text .BaudRate = 9600 .Parity = IO.Ports.Parity.None .DataBits = 8 .StopBits = IO.Ports.StopBits.One End With serialPort.Open() lblMessage.Text = cbbCOMPorts.Text & " connected." btnConnect.Enabled = False btnDisconnect.Enabled = True Catch ex As Exception MsgBox(ex.ToString) End Try End Sub 'Pulsante di disconnessione Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisconnect.Click Try serialPort.Close() lblMessage.Text = serialPort.PortName & " disconnected." btnConnect.Enabled = True btnDisconnect.Enabled = False Catch ex As Exception MsgBox(ex.ToString) End Try End Sub 'queste sono le sub che permettono la ricezione dei dati dal dispositivo Private Sub DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles serialPort.DataReceived txtDataReceived.Invoke(New myDelegate(AddressOf updateTextBox), New Object() {}) End Sub Public Delegate Sub myDelegate() Public Sub updateTextBox() With txtDataReceived .Font = New Font("Arial", 12.0!, FontStyle.Bold) .SelectionColor = Color.Red .AppendText(serialPort.ReadExisting) .ScrollToCaret() End With End Sub Private Sub BbtnEsci_Click(sender As System.Object, e As System.EventArgs) Handles BbtnEsci.Click Me.Close() End Sub End Class
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5