ByteScout Barcode Reader SDK - VB.NET - Read Barcode From Live Video Cam - ByteScout

ByteScout Barcode Reader SDK – VB.NET – Read Barcode From Live Video Cam

  • Home
  • /
  • Articles
  • /
  • ByteScout Barcode Reader SDK – VB.NET – Read Barcode From Live Video Cam

How to read barcode from live video cam in VB.NET and ByteScout BarCode Reader SDK

The tutorial below will demonstrate how to read barcode from live video cam in VB.NET

On this page you will learn from code samples for programming in VB.NET.Writing of the code to read barcode from live video cam in VB.NET can be done by developers of any level using ByteScout BarCode Reader SDK. ByteScout BarCode Reader SDK is the barcode decoder with support for code 39, code 128, QR Code, Datamatrix, GS1, PDF417 and all other popular barcodes. Can read barcodes from images, pdf, tiff documents and live web camera. Supports noisy and damaged documents, can split and merge pdf and tiff documents based on barcodes. Can export barcode decoder results to XML, JSON, CSV and into custom data structures and you can use it to read barcode from live video cam with VB.NET.

Fast application programming interfaces of ByteScout BarCode Reader SDK for VB.NET plus the instruction and the code below will help you quickly learn how to read barcode from live video cam. Just copy and paste the code into your VB.NET application’s code and follow the instruction. Test VB.NET sample code examples whether they respond your needs and requirements for the project.

Download free trial version of ByteScout BarCode Reader SDK from our website with this and other source code samples for VB.NET.

Try ByteScout BarCode Reader SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class MainForm Inherits System.Windows.Forms.Form 'Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.btnUpdateCameraImageDimensions = New System.Windows.Forms.Button() Me.cbStopOnFirstBarcode = New System.Windows.Forms.CheckBox() Me.label4 = New System.Windows.Forms.Label() Me.tbCameraHeight = New System.Windows.Forms.TextBox() Me.tbCameraWidth = New System.Windows.Forms.TextBox() Me.label2 = New System.Windows.Forms.Label() Me.lblScanning = New System.Windows.Forms.Label() Me.label3 = New System.Windows.Forms.Label() Me.cmbBarcodeType = New System.Windows.Forms.ComboBox() Me.btnExit = New System.Windows.Forms.Button() Me.label1 = New System.Windows.Forms.Label() Me.cmbCamera = New System.Windows.Forms.ComboBox() Me.rtbFoundBarcodes = New System.Windows.Forms.RichTextBox() Me.btnStop = New System.Windows.Forms.Button() Me.btnStart = New System.Windows.Forms.Button() Me.pictureBoxPreview = New System.Windows.Forms.PictureBox() Me.lblFoundBarcodes = New System.Windows.Forms.Label() Me.Button1 = New System.Windows.Forms.Button() CType(Me.pictureBoxPreview,System.ComponentModel.ISupportInitialize).BeginInit Me.SuspendLayout ' 'btnUpdateCameraImageDimensions ' Me.btnUpdateCameraImageDimensions.Location = New System.Drawing.Point(265, 64) Me.btnUpdateCameraImageDimensions.Name = "btnUpdateCameraImageDimensions" Me.btnUpdateCameraImageDimensions.Size = New System.Drawing.Size(71, 24) Me.btnUpdateCameraImageDimensions.TabIndex = 4 Me.btnUpdateCameraImageDimensions.Text = "Update" Me.btnUpdateCameraImageDimensions.UseVisualStyleBackColor = true ' 'cbStopOnFirstBarcode ' Me.cbStopOnFirstBarcode.AutoSize = true Me.cbStopOnFirstBarcode.Location = New System.Drawing.Point(14, 94) Me.cbStopOnFirstBarcode.Name = "cbStopOnFirstBarcode" Me.cbStopOnFirstBarcode.Size = New System.Drawing.Size(154, 17) Me.cbStopOnFirstBarcode.TabIndex = 5 Me.cbStopOnFirstBarcode.Text = "Stop on first barcode found" Me.cbStopOnFirstBarcode.UseVisualStyleBackColor = true ' 'label4 ' Me.label4.AutoSize = true Me.label4.Location = New System.Drawing.Point(206, 69) Me.label4.Name = "label4" Me.label4.Size = New System.Drawing.Size(12, 13) Me.label4.TabIndex = 46 Me.label4.Text = "x" ' 'tbCameraHeight ' Me.tbCameraHeight.Location = New System.Drawing.Point(224, 66) Me.tbCameraHeight.Name = "tbCameraHeight" Me.tbCameraHeight.Size = New System.Drawing.Size(35, 20) Me.tbCameraHeight.TabIndex = 3 Me.tbCameraHeight.Text = "480" ' 'tbCameraWidth ' Me.tbCameraWidth.Location = New System.Drawing.Point(165, 66) Me.tbCameraWidth.Name = "tbCameraWidth" Me.tbCameraWidth.Size = New System.Drawing.Size(35, 20) Me.tbCameraWidth.TabIndex = 2 Me.tbCameraWidth.Text = "640" ' 'label2 ' Me.label2.AutoSize = true Me.label2.Location = New System.Drawing.Point(11, 69) Me.label2.Name = "label2" Me.label2.Size = New System.Drawing.Size(132, 13) Me.label2.TabIndex = 45 Me.label2.Text = "Camera Image Dimensions" ' 'lblScanning ' Me.lblScanning.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.lblScanning.AutoSize = true Me.lblScanning.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204,Byte)) Me.lblScanning.Location = New System.Drawing.Point(582, 600) Me.lblScanning.Name = "lblScanning" Me.lblScanning.Size = New System.Drawing.Size(67, 13) Me.lblScanning.TabIndex = 44 Me.lblScanning.Text = "Scanning..." Me.lblScanning.Visible = false ' 'label3 ' Me.label3.AutoSize = true Me.label3.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204,Byte)) Me.label3.Location = New System.Drawing.Point(11, 15) Me.label3.Name = "label3" Me.label3.Size = New System.Drawing.Size(131, 13) Me.label3.TabIndex = 43 Me.label3.Text = "Barcode Type To Scan" ' 'cmbBarcodeType ' Me.cmbBarcodeType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.cmbBarcodeType.FormattingEnabled = true Me.cmbBarcodeType.Location = New System.Drawing.Point(165, 12) Me.cmbBarcodeType.Name = "cmbBarcodeType" Me.cmbBarcodeType.Size = New System.Drawing.Size(245, 21) Me.cmbBarcodeType.Sorted = true Me.cmbBarcodeType.TabIndex = 0 ' 'btnExit ' Me.btnExit.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.btnExit.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.btnExit.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204,Byte)) Me.btnExit.Location = New System.Drawing.Point(564, 690) Me.btnExit.Name = "btnExit" Me.btnExit.Size = New System.Drawing.Size(90, 26) Me.btnExit.TabIndex = 9 Me.btnExit.Text = "Exit" Me.btnExit.UseVisualStyleBackColor = true ' 'label1 ' Me.label1.AutoSize = true Me.label1.Location = New System.Drawing.Point(11, 42) Me.label1.Name = "label1" Me.label1.Size = New System.Drawing.Size(80, 13) Me.label1.TabIndex = 42 Me.label1.Text = "Camera Device" ' 'cmbCamera ' Me.cmbCamera.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.cmbCamera.FormattingEnabled = true Me.cmbCamera.Location = New System.Drawing.Point(165, 39) Me.cmbCamera.Name = "cmbCamera" Me.cmbCamera.Size = New System.Drawing.Size(245, 21) Me.cmbCamera.TabIndex = 1 ' 'rtbFoundBarcodes ' Me.rtbFoundBarcodes.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.rtbFoundBarcodes.Location = New System.Drawing.Point(14, 616) Me.rtbFoundBarcodes.Name = "rtbFoundBarcodes" Me.rtbFoundBarcodes.Size = New System.Drawing.Size(640, 68) Me.rtbFoundBarcodes.TabIndex = 6 Me.rtbFoundBarcodes.Text = "" ' 'btnStop ' Me.btnStop.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles) Me.btnStop.Enabled = false Me.btnStop.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204,Byte)) Me.btnStop.Location = New System.Drawing.Point(100, 690) Me.btnStop.Name = "btnStop" Me.btnStop.Size = New System.Drawing.Size(80, 26) Me.btnStop.TabIndex = 8 Me.btnStop.Text = "Stop" Me.btnStop.UseVisualStyleBackColor = true ' 'btnStart ' Me.btnStart.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles) Me.btnStart.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204,Byte)) Me.btnStart.Location = New System.Drawing.Point(14, 690) Me.btnStart.Name = "btnStart" Me.btnStart.Size = New System.Drawing.Size(80, 26) Me.btnStart.TabIndex = 7 Me.btnStart.Text = "Start" Me.btnStart.UseVisualStyleBackColor = true ' 'pictureBoxPreview ' Me.pictureBoxPreview.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) Me.pictureBoxPreview.BackColor = System.Drawing.Color.White Me.pictureBoxPreview.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.pictureBoxPreview.Location = New System.Drawing.Point(14, 117) Me.pictureBoxPreview.Name = "pictureBoxPreview" Me.pictureBoxPreview.Size = New System.Drawing.Size(640, 480) Me.pictureBoxPreview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage Me.pictureBoxPreview.TabIndex = 40 Me.pictureBoxPreview.TabStop = false ' 'lblFoundBarcodes ' Me.lblFoundBarcodes.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles) Me.lblFoundBarcodes.AutoSize = true Me.lblFoundBarcodes.Location = New System.Drawing.Point(14, 600) Me.lblFoundBarcodes.Name = "lblFoundBarcodes" Me.lblFoundBarcodes.Size = New System.Drawing.Size(93, 13) Me.lblFoundBarcodes.TabIndex = 38 Me.lblFoundBarcodes.Text = "Found 0 barcodes" ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(416, 38) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(129, 23) Me.Button1.TabIndex = 47 Me.Button1.Text = "Camera Properties" Me.Button1.UseVisualStyleBackColor = true ' 'MainForm ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(664, 728) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.btnUpdateCameraImageDimensions) Me.Controls.Add(Me.cbStopOnFirstBarcode) Me.Controls.Add(Me.label4) Me.Controls.Add(Me.tbCameraHeight) Me.Controls.Add(Me.tbCameraWidth) Me.Controls.Add(Me.label2) Me.Controls.Add(Me.lblScanning) Me.Controls.Add(Me.label3) Me.Controls.Add(Me.cmbBarcodeType) Me.Controls.Add(Me.btnExit) Me.Controls.Add(Me.label1) Me.Controls.Add(Me.cmbCamera) Me.Controls.Add(Me.rtbFoundBarcodes) Me.Controls.Add(Me.btnStop) Me.Controls.Add(Me.btnStart) Me.Controls.Add(Me.pictureBoxPreview) Me.Controls.Add(Me.lblFoundBarcodes) Me.Name = "MainForm" Me.ShowIcon = false Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Barcode Scanner" CType(Me.pictureBoxPreview,System.ComponentModel.ISupportInitialize).EndInit Me.ResumeLayout(false) Me.PerformLayout End Sub Private WithEvents btnUpdateCameraImageDimensions As Windows.Forms.Button Private WithEvents cbStopOnFirstBarcode As Windows.Forms.CheckBox Private WithEvents label4 As Windows.Forms.Label Private WithEvents tbCameraHeight As Windows.Forms.TextBox Private WithEvents tbCameraWidth As Windows.Forms.TextBox Private WithEvents label2 As Windows.Forms.Label Private WithEvents lblScanning As Windows.Forms.Label Private WithEvents label3 As Windows.Forms.Label Private WithEvents cmbBarcodeType As Windows.Forms.ComboBox Private WithEvents btnExit As Windows.Forms.Button Private WithEvents label1 As Windows.Forms.Label Private WithEvents cmbCamera As Windows.Forms.ComboBox Private WithEvents rtbFoundBarcodes As Windows.Forms.RichTextBox Private WithEvents btnStop As Windows.Forms.Button Private WithEvents btnStart As Windows.Forms.Button Private WithEvents pictureBoxPreview As Windows.Forms.PictureBox Private WithEvents lblFoundBarcodes As Windows.Forms.Label Friend WithEvents Button1 As Windows.Forms.Button End Class

Try ByteScout BarCode Reader SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

Imports System.ComponentModel Imports System.Drawing Imports System.Media Imports System.Reflection Imports System.Text Imports System.Threading Imports System.Windows.Forms Imports Bytescout.BarCodeReader Imports TouchlessLib Public Class MainForm ' Scan delay, ms. Const SCAN_DELAY As Integer = 1500 ' scan barcodes every 1.5 sec ' Touchless SDK library manager (to use it you should have TouchlessLib.dll referenced and WebCamLib.dll in the build output directory) Dim ReadOnly _touchlessLibManager As TouchlessMgr ' Background thread for barcode scanning Dim ReadOnly _backgroundWorker As New BackgroundWorker ' Synchronization event Dim ReadOnly _synchronizationEvent As New AutoResetEvent(False) ' Form constructor Public Sub New() InitializeComponent() ' Create Touchless library manager _touchlessLibManager = New TouchlessMgr() ' Setup background worker _backgroundWorker.WorkerSupportsCancellation = True AddHandler _backgroundWorker.DoWork, AddressOf BackgroundWorker_DoWork AddHandler _backgroundWorker.RunWorkerCompleted, AddressOf BackgroundWorker_RunWorkerCompleted End Sub ' On form loading Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Fill devices combobox with available video cameras For Each camera As Camera In _touchlessLibManager.Cameras cmbCamera.Items.Add(camera) Next ' Select the first available camera. See also cmbCamera_SelectedIndexChanged event handler. If _touchlessLibManager.Cameras.Count > 0 Then cmbCamera.SelectedItem = _touchlessLibManager.Cameras(0) Else MessageBox.Show("No video camera available. Please connect the camera.") End If ' Populate barcode types combobox PopulateBarcodeTypesCombobox() ' Select some default barcode type cmbBarcodeType.SelectedItem = "QRCode" End Sub Private Sub PopulateBarcodeTypesCombobox() cmbBarcodeType.Items.Clear() For Each propertyInfo As PropertyInfo In GetType(BarcodeTypeSelector).GetProperties() cmbBarcodeType.Items.Add(propertyInfo.Name) Next End Sub ' On camera selected Private Sub cmbCamera_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbCamera.SelectedIndexChanged If _touchlessLibManager.CurrentCamera IsNot Nothing Then RemoveHandler _touchlessLibManager.CurrentCamera.OnImageCaptured, AddressOf CurrentCamera_OnImageCaptured End If If cmbCamera.SelectedIndex <> -1 Then Dim camera As Camera = _touchlessLibManager.Cameras(cmbCamera.SelectedIndex) If camera IsNot Nothing Then ' Set camera output image dimensions camera.CaptureWidth = Integer.Parse(tbCameraWidth.Text) camera.CaptureHeight = Integer.Parse(tbCameraHeight.Text) AddHandler camera.OnImageCaptured, AddressOf CurrentCamera_OnImageCaptured ' Select the camera _touchlessLibManager.CurrentCamera = camera End If End If End Sub Private Sub btnUpdateCameraImageDimensions_Click(sender As Object, e As EventArgs) Handles btnUpdateCameraImageDimensions.Click If _touchlessLibManager.CurrentCamera IsNot Nothing Then ' Update camera's output image dimensions _touchlessLibManager.CurrentCamera.CaptureWidth = Integer.Parse(tbCameraWidth.Text) _touchlessLibManager.CurrentCamera.CaptureHeight = Integer.Parse(tbCameraHeight.Text) End If End Sub Private Sub StartDecoding() If cmbCamera.SelectedIndex = -1 Then Return End If ' Clear the output text box rtbFoundBarcodes.Clear() ' Check if we have camera selected If cmbCamera.SelectedIndex <> -1 Then ' Start the decoding in the background thread Dim barcodeTypesToFind As BarcodeTypeSelector = GetBarcodeTypeFromCombobox() _backgroundWorker.RunWorkerAsync(barcodeTypesToFind) UpdateControls(True) Else MessageBox.Show("Please select the camera first!") End If End Sub Private Sub StopDecoding() _backgroundWorker.CancelAsync() ' Wait until BackgroundWorker finished If _backgroundWorker.IsBusy Then _synchronizationEvent.WaitOne() End If UpdateControls(False) End Sub Private Sub UpdateControls(started As Boolean) If started Then btnStart.Enabled = False btnStop.Enabled = True cmbBarcodeType.Enabled = False cmbCamera.Enabled = False tbCameraHeight.Enabled = False tbCameraWidth.Enabled = False btnUpdateCameraImageDimensions.Enabled = False cbStopOnFirstBarcode.Enabled = False lblScanning.Visible = True lblScanning.Text = "Scanning..." Else btnStart.Enabled = True btnStop.Enabled = False cmbBarcodeType.Enabled = True cmbCamera.Enabled = True cbStopOnFirstBarcode.Enabled = True tbCameraHeight.Enabled = True tbCameraWidth.Enabled = True btnUpdateCameraImageDimensions.Enabled = True lblScanning.Visible = True End If End Sub Private Sub CurrentCamera_OnImageCaptured(sender As Object, e As CameraEventArgs) pictureBoxPreview.Image = e.Image End Sub Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click StartDecoding() End Sub Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles btnStop.Click StopDecoding() End Sub ' Background thread procedure used by BackgroundWorker Private Sub BackgroundWorker_DoWork(sender As Object, e As DoWorkEventArgs) Dim worker As BackgroundWorker = CType(sender, BackgroundWorker) Dim barcodeTypesToFind As BarcodeTypeSelector = CType(e.Argument, BarcodeTypeSelector) ' Create and setup barcode reader instance Using reader As New Reader reader.RegistrationName = "demo" reader.RegistrationKey = "demo" reader.BarcodeTypesToFind = barcodeTypesToFind ' Work while not canceled While True ' Check cancellation If worker.CancellationPending Then e.Cancel = True _synchronizationEvent.Set() Return End If ' Get image from camera by invoking method from UI thread Dim bitmap As Bitmap = CType(Invoke(New GetCameraImageDelegate(AddressOf GetCameraImage)), Bitmap) If bitmap Is Nothing Then e.Result = nothing return End If ' ----------------------------------------------------------------------- ' NOTE: We can read barcodes from specific page to increase performance . ' For sample please refer to "Decoding barcodes from PDF by pages" program. ' ----------------------------------------------------------------------- ' Search the image for barcodes Dim result As FoundBarcode() = reader.ReadFrom(bitmap) ' Update UI asynchronously BeginInvoke(New Action(Of FoundBarcode())(AddressOf UpdateStatus), New Object() { result }) ' Pause Thread.Sleep(SCAN_DELAY) End While End Using End Sub Delegate Function GetCameraImageDelegate() As Bitmap Private Function GetCameraImage() As Bitmap If Not IsDisposed and Not Disposing and _touchlessLibManager.CurrentCamera IsNot Nothing Then return _touchlessLibManager.CurrentCamera.GetCurrentImage() End If Return Nothing End Function ' Update UI with found barcodes information Private Sub UpdateStatus(foundBarcodes As FoundBarcode()) If foundBarcodes IsNot Nothing And foundBarcodes.Length > 0 Then ' Play sound if we found any barcode SystemSounds.Beep.Play() Dim stringBuilder As StringBuilder = New StringBuilder() stringBuilder.AppendFormat("Time: {0:HH:mm:ss:tt}", DateTime.Now) stringBuilder.AppendLine() ' Display found barcodes in the output text box For Each barcode As FoundBarcode In foundBarcodes stringBuilder.AppendFormat("Found barcode: {0} {1}", barcode.Type, barcode.Value) stringBuilder.AppendLine() Next rtbFoundBarcodes.Text = stringBuilder.ToString() ' Update status text with number of found barcodes lblFoundBarcodes.Text = String.Format("Found {0} barcodes:", foundBarcodes.Length) End If ' Make "Scanning..." label flicker. lblScanning.Visible = Not lblScanning.Visible lblScanning.Refresh() ' Check if we need to stop on first barcode found If cbStopOnFirstBarcode.Checked And foundBarcodes IsNot Nothing And foundBarcodes.Length > 0 Then StopDecoding() End If End Sub ' Background thread is finished Private Sub BackgroundWorker_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) ' Update UI asynchronously BeginInvoke(New Action(Of RunWorkerCompletedEventArgs)(AddressOf OnBackgroundWorkerFinished), New Object() {e}) End Sub Private Sub OnBackgroundWorkerFinished(completedEventArgs As RunWorkerCompletedEventArgs) If completedEventArgs.Cancelled Then lblScanning.Text = "Stopped" ElseIf completedEventArgs.Error IsNot Nothing Then lblScanning.Text = "Error: " + completedEventArgs.Error.Message Else lblScanning.Text = "Done!" End If UpdateControls(False) End Sub Private Function GetBarcodeTypeFromCombobox() As BarcodeTypeSelector Dim result As BarcodeTypeSelector = New BarcodeTypeSelector() Dim selectedBarcodeTypeName As String = CType(cmbBarcodeType.SelectedItem, String) Dim propertyInfo As PropertyInfo = GetType(BarcodeTypeSelector).GetProperty(selectedBarcodeTypeName) propertyInfo.SetValue(result, True, Nothing) Return result End Function Protected Overrides Sub OnClosing(e As CancelEventArgs) StopDecoding() _touchlessLibManager.Dispose() MyBase.OnClosing(e) End Sub Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click DialogResult = DialogResult.OK Close() End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Try if _touchlessLibManager.CurrentCamera IsNot Nothing _touchlessLibManager.CurrentCamera.ShowPropertiesDialog(Handle) End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub End Class

Try ByteScout BarCode Reader SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

Imports System.Collections.Generic Imports System.Windows.Forms NotInheritable Class Program Private Sub New() End Sub ''' <summary> ''' The main entry point for the application. ''' </summary> <MTAThread> _ Friend Shared Sub Main() Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) Dim dlg As New MainForm() dlg.ShowDialog() End Sub End Class

Try ByteScout BarCode Reader SDK today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)



Get 60 Day Free Trial or Visit ByteScout BarCode Reader SDK Home Page

Explore ByteScout BarCode Reader SDK Documentation

Get ByteScout BarCode Reader SDK Free Training


Get Your Free API Key

Explore Web API Documentation