Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
Serial受信中にテキスト表示
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30410#CommentId83563
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
素人
 (学生)
投稿日時
2019/6/18 10:36:23
Serialポートを使用してデータの受信を行っています。
◆実現したいこと
例えば、
受信データが"A"だった場合は、TextBox11.Text="正常"
受信データが"B"だった場合は、TextBox11.Text="異常" と表示させたいです。
◆今の状況
Serialポートを使用してデータの受信はできました。
しかし、SerialPort1_DataReceivedイベントないで、TextBox11.Textの表示をさせようとしたところ、次のエラーが出てしまい、エラーの内容と原因が分からず困っております。
◆エラーメッセージ
System.InvalidOperationException
HResult=0x80131509
Message=有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'TextBox11' がアクセスされました。
◆試しているコード
Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
If SerialPort1.IsOpen = False Then
Return
End If
TextBox11.Text = "テスト中"
Try
Dim data As String
data = SerialPort1.ReadExisting()
Invoke(New Delegate_RcvDataToTextBox(AddressOf Me.RcvDataToTextBox), args)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub