为什么无法改变TextBox的值?
刚接触.net 业余的用它来写一个窗口的通讯程序,如下:Public Sub RS232_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles RS232.DataReceived
Dim Rec_byte As Byte
Dim sendbyte(5) As Byte
Rec_byte = RS232.ReadByte()
Select Case Rec_byte
Case &HE5
Select Case BL_指令
Case "连接PLC"
RS232.ReceivedBytesThreshold = 28
End Select
RS232.DiscardInBuffer()
RS232.DiscardOutBuffer()
sendbyte(0) = &H10
sendbyte(1) = &H2
sendbyte(2) = &H0
sendbyte(3) = &H5C
sendbyte(4) = &H5E
sendbyte(5) = &H16
RS232.Write(sendbyte, 0, sendbyte.Length)
Case Else
Select Case BL_指令
Case "连接PLC"
RS232.Read(Rec_str, 0, 27)
End Select
Call PPI_Order()
End Select
End Sub
-----------------------------------------------------------------------------------------------------------
Public Sub PPI_Order()
Dim i As Integer
Dim Str_指令 As String
Select Case BL_指令
Case "连接PLC"
Str_指令 = "68"
For i = 0 To 26
If Len(Hex(Rec_str(i))) = 1 Then
Str_指令 = Str_指令 & " 0" & Hex(Rec_str(i))
ElseIf Len(Hex(Rec_str(i))) = 2 Then
Str_指令 = Str_指令 & " " & Hex(Rec_str(i))
End If
Next
If Str_指令 = "68 16 16 68 00 02 08 32 03 00 00 00 00 00 02 00 05 00 00 04 01 FF 03 00 01 00 4E 16" Then
初始化界面.TextBox_进度.Text = 初始化界面.TextBox_进度.Text & "..........OK" & Chr(13) + Chr(10)
初始化界面.Timer_错误关闭.Stop()
//////这里程序什么提示都没有,但又改变不了"TextBox_进度.Text "的值.Timer_错误关闭也动作不了
End If
End Select
End Sub
请问这是什么问题,
谢谢!
--------------------编程问答-------------------- 我没看懂什么问题。好像要做串口通信有个控件SerialPort ,你看下MSDN的SerialPort 就知道了。 --------------------编程问答-------------------- 什么哟 不懂 --------------------编程问答-------------------- 代码是在 Moduble里写的 接收和发送 是可以的,就是 我接收回来了 我想改变FORM1里TXETBOX.TEXT的值的时候没反应. --------------------编程问答-------------------- 用多线程来处理看看,是不是他执行了,但是没反应出来 --------------------编程问答-------------------- "用多线程来处理"是怎么做的? 刚接触不懂,请指教. --------------------编程问答-------------------- --------------------编程问答-------------------- 帮顶。。。。。。。。。 --------------------编程问答-------------------- 不错,好主意 --------------------编程问答-------------------- 顶起来,等待中... --------------------编程问答-------------------- 初始化界面.
修改为
Me. --------------------编程问答-------------------- 以上代码是在Moduble里写,好像用不了ME
就是Moduble里写RS232_DataReceived的接收到信息后,经过PPI_Order()分析,然后
改变Form1(也就是初始化界面)窗体里的TEXTBOX1.TEXT的值 --------------------编程问答-------------------- 和你一样,是新手,帮顶 --------------------编程问答-------------------- 初始化界面.TextBox_进度.Text = 初始化界面.TextBox_进度.Text & "..........OK" & Chr(13) + Chr(10)
下面加上Application.DoEvents()试试
--------------------编程问答-------------------- 不太明白。。。我也刚学。。。帮顶顶顶!!!!!!!
补充:.NET技术 , VB.NET