form1.vb

来自「在vb.net 中如何使用计算机的串口」· VB 代码 · 共 385 行 · 第 1/2 页

VB
385
字号
        '
        Me.Label1.Location = New System.Drawing.Point(9, 18)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(66, 19)
        Me.Label1.TabIndex = 13
        Me.Label1.Text = "端口选择"
        '
        'Label2
        '
        Me.Label2.Location = New System.Drawing.Point(93, 18)
        Me.Label2.Name = "Label2"
        Me.Label2.Size = New System.Drawing.Size(66, 19)
        Me.Label2.TabIndex = 14
        Me.Label2.Text = "波特率"
        '
        'Label3
        '
        Me.Label3.Location = New System.Drawing.Point(196, 18)
        Me.Label3.Name = "Label3"
        Me.Label3.Size = New System.Drawing.Size(56, 19)
        Me.Label3.TabIndex = 15
        Me.Label3.Text = "数据位"
        '
        'Label4
        '
        Me.Label4.Location = New System.Drawing.Point(289, 18)
        Me.Label4.Name = "Label4"
        Me.Label4.Size = New System.Drawing.Size(66, 19)
        Me.Label4.TabIndex = 16
        Me.Label4.Text = "停止位"
        '
        'cbStop
        '
        Me.cbStop.Items.AddRange(New Object() {"1", "2"})
        Me.cbStop.Location = New System.Drawing.Point(280, 37)
        Me.cbStop.Name = "cbStop"
        Me.cbStop.Size = New System.Drawing.Size(65, 22)
        Me.cbStop.TabIndex = 17
        '
        'Label5
        '
        Me.Label5.Location = New System.Drawing.Point(364, 18)
        Me.Label5.Name = "Label5"
        Me.Label5.Size = New System.Drawing.Size(37, 19)
        Me.Label5.TabIndex = 18
        Me.Label5.Text = "校验"
        '
        'cbCheck
        '
        Me.cbCheck.Items.AddRange(New Object() {"无", "奇", "偶", "空"})
        Me.cbCheck.Location = New System.Drawing.Point(355, 37)
        Me.cbCheck.Name = "cbCheck"
        Me.cbCheck.Size = New System.Drawing.Size(74, 22)
        Me.cbCheck.TabIndex = 19
        '
        'Label6
        '
        Me.Label6.Location = New System.Drawing.Point(448, 18)
        Me.Label6.Name = "Label6"
        Me.Label6.Size = New System.Drawing.Size(280, 19)
        Me.Label6.TabIndex = 20
        Me.Label6.Text = "打开串口前请确定该串口未被其他程序使用"
        '
        'txtSend
        '
        Me.txtSend.Location = New System.Drawing.Point(0, 475)
        Me.txtSend.Name = "txtSend"
        Me.txtSend.Size = New System.Drawing.Size(821, 174)
        Me.txtSend.TabIndex = 21
        Me.txtSend.Text = ""
        '
        'Label7
        '
        Me.Label7.Location = New System.Drawing.Point(831, 165)
        Me.Label7.Name = "Label7"
        Me.Label7.Size = New System.Drawing.Size(84, 393)
        Me.Label7.TabIndex = 22
        Me.Label7.Text = "本程序使用VB.NET编写,运行前请先安装.Net固件程序。本公司有大量的项目承接经验,包括:8,16,32位单片机;嵌入式Linux软件及驱动,Win Ce应用" & _
            "软件及驱动。现公开承接各类嵌入式项目(软件开发,硬件开发),如有需要请联系:028-86316550"
        '
        'chkEnter
        '
        Me.chkEnter.Location = New System.Drawing.Point(831, 567)
        Me.chkEnter.Name = "chkEnter"
        Me.chkEnter.Size = New System.Drawing.Size(93, 36)
        Me.chkEnter.TabIndex = 23
        Me.chkEnter.Text = "发送回车"
        '
        'PictureBox1
        '
        Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
        Me.PictureBox1.Location = New System.Drawing.Point(831, 0)
        Me.PictureBox1.Name = "PictureBox1"
        Me.PictureBox1.Size = New System.Drawing.Size(112, 101)
        Me.PictureBox1.TabIndex = 24
        Me.PictureBox1.TabStop = False
        '
        'btnClear
        '
        Me.btnClear.Location = New System.Drawing.Point(831, 119)
        Me.btnClear.Name = "btnClear"
        Me.btnClear.Size = New System.Drawing.Size(84, 27)
        Me.btnClear.TabIndex = 25
        Me.btnClear.Text = "(&L)清空"
        '
        'frmMain
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(7, 16)
        Me.ClientSize = New System.Drawing.Size(792, 570)
        Me.Controls.Add(Me.btnClear)
        Me.Controls.Add(Me.PictureBox1)
        Me.Controls.Add(Me.chkEnter)
        Me.Controls.Add(Me.Label7)
        Me.Controls.Add(Me.txtSend)
        Me.Controls.Add(Me.Label6)
        Me.Controls.Add(Me.cbCheck)
        Me.Controls.Add(Me.Label5)
        Me.Controls.Add(Me.cbStop)
        Me.Controls.Add(Me.Label4)
        Me.Controls.Add(Me.Label3)
        Me.Controls.Add(Me.Label2)
        Me.Controls.Add(Me.Label1)
        Me.Controls.Add(Me.cbData)
        Me.Controls.Add(Me.cbCom)
        Me.Controls.Add(Me.cbBaud)
        Me.Controls.Add(Me.btnClose)
        Me.Controls.Add(Me.linkMe)
        Me.Controls.Add(Me.btnOpen)
        Me.Controls.Add(Me.txtReceive)
        Me.Controls.Add(Me.lblSend)
        Me.Controls.Add(Me.lblReceive)
        Me.Controls.Add(Me.btnSend)
        Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
        Me.MaximizeBox = False
        Me.Name = "frmMain"
        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
        Me.Text = "RS232"
        CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
        If (chkEnter.CheckState = True) Then
            m_CommPort.Write(Encoding.ASCII.GetBytes(txtSend.Text + vbCrLf))
        Else
            m_CommPort.Write(Encoding.ASCII.GetBytes(txtSend.Text))
        End If
        System.Threading.Thread.Sleep(200)
        Application.DoEvents()
    End Sub

    Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
        Parity = cbCheck.SelectedIndex
        StopBit = cbStop.SelectedIndex + 1
        DataNum = cbData.SelectedIndex + 1
        com = cbCom.SelectedIndex + 1
        baud = CInt(cbBaud.Text)
        m_CommPort.Open(com, baud, 7 + DataNum, Parity, StopBit, 512)
        btnOpen.Enabled = False
        btnClose.Enabled = True
        tmrReadCommPort.Enabled = True
    End Sub

    Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
        m_CommPort.Close()
        btnOpen.Enabled = True
        btnClose.Enabled = False
        tmrReadCommPort.Enabled = False
    End Sub

    Private Sub tmrReadCommPort_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrReadCommPort.Tick
        Try
            While (m_CommPort.Read(1) <> -1)
                ' Write the output to the screen.
                txtReceive.Text = txtReceive.Text + (Chr(m_CommPort.InputStream(0)))
            End While
        Catch ex As Exception
        End Try
    End Sub

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        txtReceive.Text = ""
    End Sub

    Private Sub linkMe_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles linkMe.LinkClicked
        Shell("C:\Program Files\Internet Explorer\IEXPLORE.EXE www.cdslite.com")
    End Sub
End Class

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?