2013-04-19 1 views
0

Google에서 답변을 시도했지만 내가 찾고있는 것을 찾지 못했습니다.Visual Basic에서 RichTextBox에 자동으로 추가하는 방법

사용자가 바코드 스캐너를 사용하여 바코드를 텍스트 파일로 스캔 할 수있는 아주 간단한 응용 프로그램을 만들었습니다. 모든 것이 잘 작동하고, 조금만 더 단순화하고 싶습니다.

원본으로 스캔 된 바코드가 표시되는 textbox1.text 필드가 있는데, 사용자가 '추가'버튼 (Button1.Click)을 클릭해야만합니다. 텍스트 필드 옆에 배치하여 바코드 일련 번호를 아래의 RichTextBox. 사용자는 개별 바코드를 스캔 할 때마다 '추가'버튼을 클릭해야하는 것이 지루하다는 것을 알았습니다.

내 질문

내가 textbox1.text의 텍스트를 가질 수 방법 즉시 자동으로 바코드를 스캔 될 때를 RichTextBox에 추가가 있습니까? '추가'버튼을 클릭하지 않아도됩니다.

Dim scanData As String = TextBox1.Text 

RichTextBox1.AppendText(scanData + " " + Format(TimeOfDay, "HH:mm:ss") + vbNewLine) 

TextBox1.Clear() 
TextBox1.Focus() 

답변

0

첫째, 나는 사용자가 TextBox 제어 (TextBox1.Enabled=False)을 비활성화하여 입력하지 텍스트 자체를 다음에 추가 할 수 있는지 확인합니다 : 여기

내 현재 코드합니다 (Button1.Click 버튼에 대한 코드)입니다 TextChanged 이벤트에 대한 코드는 :

Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged 
    Dim scanData As String = TextBox1.Text 

    RichTextBox1.AppendText(scanData + " " + Format(TimeOfDay, "HH:mm:ss") + vbNewLine) 

    TextBox1.Clear() 
    TextBox1.Focus() 
End Sub 

부터 RTB에 추가하기 전에, 나는 바코드가 유효한지 확인하십시오 것입니다.

+0

완벽하게 작동했지만 이제는 두 번 타임 스탬프가 추가됩니다. 따라서 * SERIAL # * 2:30 PM 대신 "* Serial # * 2:30 PM 2:30 PM"이 표시됩니다. 왜 그런가? '희미한 SCANDATA 문자열 = TextBox1.Text 희미한 currentTime을 한 ​​문자열 = TimeOfDay RichTextBox1.AppendText (SCANDATA + "는"+ currentTime을 + vbLf) TextBox1.Focus() : 내 현재 코드는 (TextBox1_TextChanged에서 모두)입니다 TextBox1.Clear() ' – user2300114

+0

변수 currentTime은 어디에 있습니까? –

관련 문제