ByteScout BarCode Generator SDK - C# - WPF Control - Desktop - ByteScout

ByteScout BarCode Generator SDK – C# – WPF Control – Desktop

  • Home
  • /
  • Articles
  • /
  • ByteScout BarCode Generator SDK – C# – WPF Control – Desktop

ByteScout BarCode Generator SDK – C# – WPF Control – Desktop

App.xaml.cs

[vb]
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;

namespace Bytescout.BarCode.WPFDemo
{
///

/// Interaction logic for App.xaml
///

public partial class App : Application
{
}
}

[/vb]

MainWindow.xaml.cs

[vb]
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Imaging;

namespace Bytescout.BarCode.WPFDemo
{
///

/// Interaction logic for MainWindow.xaml
///

public partial class MainWindow : Window
{

#region Constants

private const int BarHeight = 50;
private const int PdfBarHeight = 6;

#endregion

#region Constructor
///

/// Initializes a new instance of the class.
///

public MainWindow()
{
InitializeComponent();
}
#endregion

#region Controls event handlers
///

/// Handles the SelectionChanged event of the cmbSymbologyType control.
///

/// The source of the event. /// The instance containing the event data. private void cmbSymbologyType_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
UpdateBarcode();
}

///

/// Handles the Click event of the btnGenerate control.
///

/// The source of the event. /// The instance containing the event data. private void btnGenerate_Click(object sender, RoutedEventArgs e)
{
UpdateBarcode();
}

///

/// Handles the Click event of the btnSaveToFile control.
///

/// The source of the event. /// The instance containing the event data. private void btnSaveToFile_Click(object sender, RoutedEventArgs e)
{
SaveToFile();
}

#endregion

#region Menu items event handlers
///

/// Handles the Click event of the mnuSaveToFile control.
///

/// The source of the event. /// The instance containing the event data. private void mnuSaveToFile_Click(object sender, RoutedEventArgs e)
{
SaveToFile();
}

///

/// Handles the Click event of the mnuExit control.
///

/// The source of the event. /// The instance containing the event data. private void mnuExit_Click(object sender, RoutedEventArgs e)
{
Close();
}

///

/// Handles the Click event of the mnuCopy control.
///

/// The source of the event. /// The instance containing the event data. private void mnuCopy_Click(object sender, RoutedEventArgs e)
{
BitmapSource barcode = ctrlBarcodeControl.GetImage();
Clipboard.SetImage(barcode);
barcode = null;
}

///

/// Handles the Click event of the mnuBarcodeHome control.
///

/// The source of the event. /// The instance containing the event data. private void mnuBarcodeHome_Click(object sender, RoutedEventArgs e)
{
System.Diagnostics.Process.Start(“https://bytescout.com/bytescoutbarcodesdk.html”);
}

///

/// Handles the Click event of the mnuHelp control.
///

/// The source of the event. /// The instance containing the event data. private void mnuHelp_Click(object sender, RoutedEventArgs e)
{

}

///

/// Handles the TextChanged event of the txtValueToEncode control.
///

/// The source of the event. /// The instance containing the event data. private void txtValueToEncode_TextChanged(object sender, TextChangedEventArgs e)
{
UpdateBarcode();
}

///

/// Handles the TextChanged event of the txtSupplementalValue control.
///

/// The source of the event. /// The instance containing the event data. private void txtSupplementalValue_TextChanged(object sender, TextChangedEventArgs e)
{
UpdateBarcode();
}
#endregion

#region Private implementation

public object[] GetObjectsFromEnum()
{
object[] objArray = new object[Enum.GetValues(typeof(SymbologyType)).Length];
for (int i = 0; i < objArray.Length; i++) { objArray[i] = ((SymbologyType)Enum.GetValues(typeof(SymbologyType)).GetValue(i)).ToString(); } return objArray; } private void UpdateBarcode() { SymbologyType symbology = (SymbologyType)Enum.GetValues(typeof(SymbologyType)).GetValue(this.cboSymbologyType.SelectedIndex); txtSymbologyDescription.Text = ctrlBarcodeControl.GetValueRestrictions(symbology); try { if (symbology == SymbologyType.EAN13 || symbology == SymbologyType.ISBN || symbology == SymbologyType.UPCA) { txtSupplementalValue.IsEnabled = true; lblSupplementalValue.IsEnabled = true; txtSymbologyDescription.Text += " " + ctrlBarcodeControl.GetSupplementaryValueRestrictions(); } else { txtSupplementalValue.IsEnabled = false; lblSupplementalValue.IsEnabled = false; } lblErrorMessage.Content = ""; ctrlBarcodeControl.RegistrationKey = "XXXXXXXXXXXXXXXXXXx"; ctrlBarcodeControl.RegistrationName = "YYYYYYYYYYYYYYYYYYYY"; ctrlBarcodeControl.Symbology = symbology; ctrlBarcodeControl.SupplementValue = txtSupplementalValue.Text; ctrlBarcodeControl.Value = txtValueToEncode.Text; ctrlBarcodeControl.DrawCaptionFor2DBarcodes = chkDrawCaptionFor2D.IsChecked.Value; ctrlBarcodeControl.AutoFitToControlSize = chkAutoFitToContainer.IsChecked.Value; ctrlBarcodeControl.Caption = ""; if (symbology == SymbologyType.PDF417 || symbology == SymbologyType.PDF417Truncated || symbology == SymbologyType.MacroPDF417 || symbology == SymbologyType.DataMatrix || symbology == SymbologyType.GS1_DataMatrix) { ctrlBarcodeControl.BarHeight = PdfBarHeight; } else if (symbology == SymbologyType.MicroPDF417) { ctrlBarcodeControl.BarHeight = PdfBarHeight / 2; } else { ctrlBarcodeControl.BarHeight = BarHeight; } } catch (Exception) { lblErrorMessage.Content = "Value is invalid for current symbology. Please review value restrictions above."; } } private void SaveToFile() { Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.Filter = "PNG Image|*.png|TIFF Image|*.tif;*.tiff|JPEG image|*.jpg;*.jpeg|Bitmap Image|*.bmp|GIF Image|*.gif"; dlg.ValidateNames = true; dlg.FilterIndex = 1; dlg.OverwritePrompt = true; dlg.CheckPathExists = true; dlg.AddExtension = true; bool? result = dlg.ShowDialog(this); if (result.HasValue && result.Value) { try { if (System.IO.Path.GetExtension(dlg.FileName).ToLowerInvariant() == ".emf") throw new BarcodeException("Saving as EMF is disabled.\nYou should buy Barcode SDK for this."); if (chkCutUnusedSpace.IsChecked.Value) { bool cut = ctrlBarcodeControl.CutUnusedSpace; ctrlBarcodeControl.CutUnusedSpace = true; ctrlBarcodeControl.SaveImage(dlg.FileName); ctrlBarcodeControl.CutUnusedSpace = cut; } else { ctrlBarcodeControl.SaveImage(dlg.FileName); } } catch (System.Exception e) { MessageBox.Show(e.Message); } } } #endregion #region Main window event handlers private void Window_Loaded(object sender, RoutedEventArgs e) { foreach (object o in GetObjectsFromEnum()) { this.cboSymbologyType.Items.Add(o); } this.cboSymbologyType.SelectedIndex = 0; } #endregion } } [/vb]

Tutorials:

prev
next