簡體   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