私は、Bluetoothデバイス( "90123.9mm"のような単純な文字列)からデータを受け取るvb.netの簡単なアプリケーションを作成しました。Bluetooth接続が閉じられているか、vb.netで作成できないかを確認するにはどうすればいいですか?
デバイスが接続を閉じたかどうかを確認する方法はありますか?
私はタイマー
If SerialPort1 Is Nothing Then
MsgBox("no connect")
End If
If Not (SerialPort1.IsOpen) Then
MsgBox("no connect")
End If
ではなく、運にコードを配置することを試みました。
ここに接続コードと受信コードがあります。
Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
SerialPort1.PortName = "COM22"
SerialPort1.BaudRate = "9600"
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.DataBits = 8
SerialPort1.Open()
If SerialPort1 Is Nothing Then
MsgBox("no connect")
End If
If Not (SerialPort1.IsOpen) Then
MsgBox("no connect")
End If
btnConnect.Enabled = False
btnDisconnect.Enabled = True
End Sub
Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisconnect.Click
SerialPort1.Close()
btnConnect.Enabled = True
btnDisconnect.Enabled = False
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
ReceivedText(SerialPort1.ReadExisting()) 'aftomata kalite kathe fora pou dexomai nea dedomena
End Sub
Private Sub ReceivedText(ByVal [text] As String)
If Me.rtbReceived.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
Me.rtbReceived.Text &= [text]
End If
End Sub
回答ありがとうございます、私は12時間で試してみます! –
恐らく@jkarrは例外を見ていないので、キャッチブロックにはキャッチするものがありません。 – alanjmcf
コードが正しく動作しています。 –