vb.net串口控件编程 vb 串口

vb.net 窗口控件的制作

把你的控件 继承Panel类,而不要集成UserControl类。

创新互联于2013年创立,先为宝鸡等服务建站,宝鸡等地企业,进行企业商务咨询服务。为宝鸡企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

你可以在集成Panel后,往Panel里面加一些你自己的方法或Control来实现你需要的功能。向里面拖控件的功能则由Panel来控制,你自己就不用管了。

vb.net SerialPort控件接收数据问题,用串口调试助手发数据,只有第一次可以正常接收

你定义的委托需要带参数才行,DataReceived事件中没有接收数据代码,下面的代码经测试可用

Delegate Sub SetTextCallback(ByVal InputString As String)

Private Sub ShowString(ByVal comData As String)

txt_Rect.Text += comData '将收到的数据入接收文字框中

txt_Rect.SelectionStart = txt_Rect.Text.Length

txt_Rect.ScrollToCaret()

End Sub

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

Dim inData As String = SerialPort1.ReadExisting

Dim d As New SetTextCallback(AddressOf ShowString)

BeginInvoke(d, inData)

End Sub

请教用VB.NET向串口发送16进制的数的方法

应该是你的转换格式不正确,下面代码就是将文本框中以一个空格隔开的十六进制转为字节的代码,文本框中数字格式为:01 02 03

Dim TestArray() As String = Split(TextBox1.Text)

Dim hexBytes() As Byte

ReDim hexBytes(TestArray.Length - 1)

Dim i As Integer

For i = 0 To TestArray.Length - 1

hexBytes(i) = Val("h" TestArray(i))

Next

SerialPort.Write(hexBytes, 0, hexBytes.Length)

如果有问题可以再联系。

在vb.net中如何使用dundas控件把串口中发送的数据即时显示出来

n = SerialPort1.BytesToRead '读取字节数 If n 0 Then '若字节数大于0.则执行以下操作

ReDim rc(n) '重新定义rc的长度,(之前有定义过)

strrc = 0 '变量类型为字符串(string),一开始使它为0

For i = 1 To n

rc(i) = SerialPort1.ReadByte ‘读取数据

strrc += CStr(Hex(rc(i))) '这里Hex 函数 返回表示数的十六进制值的字符串

'CStr 函数 返回已被转换为字符串子类型的变体的表达式。

Next

TextBox1.Text = strrc '将strrc的值付给TextBox1.Text即可

End If


文章名称:vb.net串口控件编程 vb 串口
分享路径:http://myzitong.com/article/dooochg.html