繁体   English   中英

VB.Net Visual Studio 2017

[英]VB.Net Visual Studio 2017

团队.. 我已经阅读了一些帖子,仍然需要指导。 我有一个称重程序 VB.2017,我是从零开始编写的,而不是移植 VB6 版本,而是在手持扫描仪问题上绊倒了。 (VB.Net 不支持 OnComm)

此代码将读取输入(使用串行手持条码扫描器打印的条码 - 摩托罗拉符号),但我试图在按下条码扫描器按钮时执行 SUB。 它只是读取条形码并填充文本框。

确实捕获条形码的工作代码(在定义扫描仪属性并打开 com 端口之后。但是当按下扫描仪上的按钮时无法计算出如何执行 Sub。

            MyCOMPortScanner.Open()

        _continue = True

        Do
            Dim Incoming As String = MyCOMPortScanner.ReadLine()
            If Incoming Is Nothing Then
                Exit Do
            Else
                returnStr = Incoming
            End If
        Loop

    Catch ex As IOException
        Showmessage(ex.Message & " ComOpen IO")

    Catch ex As Exception
        Showmessage(ex.Message & " ComOpen EX")

除非我在文本框中有光标并且只有键盘输入而不是扫描仪,否则代码不起作用。 我将 KeyPreview 设置为 true。

我已经尝试过 KeyPress 和 KeyDown。

Private Sub Weighing_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

    Private Sub Weighing_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

同样,上述 2 项工作但仅适用于键盘,并且无法识别条码扫描器的触发按下。

对不起团队.. 仍然不知所措,因为我根本不明白.. 我尝试了很多不同的方法来定义事件,例如有效的 keydown。 但还是不知所措抱歉。

    Private Sub Weighing_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

End Sub
'Public Event KeyDown As KeyEventHandler
'Public Event GetSerialData As KeyEventHandler
'Public Event GetSerialData As GetSerialDataEventHandler
Public Event GetSerialData(sender As Object, e As GetSerialDataEventHandler)

Private Sub GetSerialData(ByVal sender As System.Object, ByVal e As IO.Ports.SerialDataReceivedEventArgs) Handles MyBase.GetSerial

End Sub

'Private Sub GetSerial(ByVal sender As System.Object, ByVal e As System.Windows.Forms.GetSerialEventArgs) Handles Me.GetSerial
'End Sub

Public Sub GetSerial()

End Sub

请帮忙,因为我读了这么多帖子却一无所获。 我的代码超过 1k 行,这是唯一未解决的问题

我认为捕获文本框更改事件足以满足您的需求。

Private Sub TextBox_TextChanged(sender As Object, e As EventArgs) Handles TextBox.TextChanged
   Try
      ' Do something
   Catch
      ' Catch something
   End Try
End Sub 

OMG..抱歉浪费大家的时间和亚历山德罗提示。 当我定义端口并进行初始读取时,我只是使用不同的 PortName (MyCOMPortScanner) 而不是 SerialPort1。 现在,当我按下扫描仪上的触发器时,它现在会输入代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM