Можете ли вы предоставить мне код для приложения C# windows form, чтобы прочитать только последние десять символов QR-кода с помощью сканера?
Я могу получить данные QR-кода в своих текстовых полях, но я просто хочу получить последние десять символов данных QR - кода.
Что я уже пробовал:
Я попробовал приложение windows form с помощью threading, в трех текстовых полях и метке я могу прочитать QR-коды, но для конечного пользователя при наведении курсора он должен видеть только последние 10 символов из QR-кода.
Пожалуйста, помогите мне
[Правка - ОП-код от комментария]
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Barcodetesting_14_7 { public partial class Form1 : Form { private Dictionary<textbox, textbox=""> TextBoxOrder = new Dictionary<textbox, textbox="">(); private void Form1_Load(object sender, EventArgs e) { } public Form1() { InitializeComponent(); TextBoxOrder.Add(BarcodeInput1, BarcodeInput2); TextBoxOrder.Add(BarcodeInput2, BarcodeInput3); TextBoxOrder.Add(BarcodeInput3, BarcodeInput1); BarcodeInput1.Tag = 1; BarcodeInput2.Tag = 2; BarcodeInput3.Tag = 3; BarcodeInput1.KeyDown += BarcodeInputKeyDown; BarcodeInput2.KeyDown += BarcodeInputKeyDown; BarcodeInput3.KeyDown += BarcodeInputKeyDown; BarcodeInput1.Leave += BarcodeInputLeave; BarcodeInput2.Leave += BarcodeInputLeave; BarcodeInput3.Leave += BarcodeInputLeave; } private void BarcodeInputKeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter && ActiveControl.GetType() == typeof(TextBox)) { TextBox nextTextBox; if (TextBoxOrder.TryGetValue((TextBox)ActiveControl, out nextTextBox)) { e.Handled = true; e.SuppressKeyPress = true; nextTextBox.Focus(); } } } private void BarcodeInputLeave(object sender, EventArgs e) { if (sender.GetType() == typeof(TextBox)) { TextBox textBox = (TextBox)sender; if (textBox.Tag.GetType() == typeof(int)) { BarcodeScanned(textBox.Text, (int)textBox.Tag); } } } private void BarcodeScanned(string barcode, int order) { DemoLabel.Text = order.ToString() + ": " + barcode; } } }
F-ES Sitecore
Это потребует изменения вашего кода, который мы не можем видеть.
Member 14519564
Вот код, пожалуйста, измените его, чтобы читать только последние десять символов.
использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel;
использование System.Data;
использование системы.Рисование;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;
использование системы.Окна.Формы;
пространство имен Barcodetesting_14_7
{
общественности частичного класс form1 : форма
{
частная словарь&ЛТ;текстовое поле, текстовое поле=""&ГТ; TextBoxOrder = новый словарь&ЛТ;текстовое поле, текстовое поле=""&ГТ;();
частный недействительными методе form1_load(объект отправителя, EventArgs в электронной)
{
}
открытый form1()
{
метод InitializeComponent();
TextBoxOrder.Add(BarcodeInput1, BarcodeInput2);
TextBoxOrder.Add(BarcodeInput2, BarcodeInput3);
TextBoxOrder.Add(BarcodeInput3, BarcodeInput1);
BarcodeInput1.Тег = 1;
BarcodeInput2.Бирка = 2;
BarcodeInput3.Тег = 3;
BarcodeInput1.Клавиша Вниз += BarcodeInputKeyDown;
BarcodeInput2.Клавиша Вниз += BarcodeInputKeyDown;
BarcodeInput3.Клавиша Вниз += BarcodeInputKeyDown;
BarcodeInput1.Leave += BarcodeInputLeave;
BarcodeInput2.Leave += BarcodeInputLeave;
BarcodeInput3.Leave += BarcodeInputLeave;
}
private void BarcodeInputKeyDown(отправитель объекта, KeyEventArgs e)
{
if (e.KeyCode == ключи.Введите && ActiveControl.GetType() == typeof(текстовое поле))
{
Текстовое поле nextTextBox;
if (TextBoxOrder.TryGetValue((TextBox)ActiveControl, out nextTextBox))
{
е.Обработано = истина;
e.Suppressskeypress = true;
nextTextBox.Сосредоточить();
}
}
}
частная BarcodeInputLeave недействительным(объект отправителя, EventArgs в электронной)
{
если (отправитель.GetType() == typeof(текстовое поле))
{
TextBox textBox = (текстовое поле)отправитель;
если (текстовое поле.Бирка.Метод gettype() == typeof на(Инт))
{
BarcodeScanned(текстовое поле.Текст (инт)текстовое поле.Тег);
}
}
}
частный недействительными BarcodeScanned(строка штрих-кода, тем инт )
{
Сносимабель.Текст = порядок.ToString() + ": "+ штрих-код;
}
}
}
CHill60
Никто не будет пытаться прочитать неформатированный дамп кода - я обновил ваш вопрос с вашим кодом - в следующий раз используйте ссылку "улучшить вопрос", чтобы обновить свой пост
Member 14519564
хорошо, спасибо