Программируем лазерный считыватель на терминалах сбора данных Cipher (9300) C#

Программируем лазерный считыватель на CipherПришло время написать вторую публикацию по программированию считывающих устройств терминалов сбора данных. В этой публикации я приведу пример программирования лазерного считывателя на терминалах Cipher 9300.
Здесь я приведу простой пример создания программы на Windows CE, которая будет работать со считывателем на терминалах Cipher 93XX. В целом, исходный код данной программы будет основан на примерах, которые приведены в руководстве по программированию, но с небольшим своим усовершенствованием. Вообще удивительно, почему те кто составлял руководство и SDK для разработчиков к этому устройству, не озаботились выложить хотя бы парочку рабочих примеров.

Итак, по порядку. Начнём с того что нам потребуется для разработки.

Как я уже говорил, нам потребуется SDK, по сути нам будут нужны 3 библиотеки, две под .NET, и одна для считывателя которая просто должна быть с проектом: Reader_Ce_Net.DLL, SystemApi_Ce_Net.DLL, ReaderDll_CE.dll.

Подробнее

Один contextMenuStrip для разных форм C#

Вариант размещения одного contextMenuStrip на разных формах для разных элементов.

В основном пространстве имен добавляем класс с contextMenuStrip:

namespace TestContextMenu
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }

    }
    static class Menushki
    {
        public static ContextMenuStrip menu1 = new ContextMenuStrip();
       
        
    }
}


Подробнее

Динамическое создание элементов отображения и вывод в них информации из базы данных C#

Здесь я приведу пример динамического создания текстовых полей TextBox, с выводом в эти поля значений из источника данных.

Сразу к делу:

1. Задаем некоторые переменные и пару массивов.

DataSet ds = new DataSet(); //Создаем источник данных.
TextBox[] tb = new TextBox[100];//Массив из 100 текстбоксов, можно и списком воспользоваться, но пусть будет так.
Label[] lb = new Label[100]; //Массив подписей к полям.
int row_num = 0; //Номер выбранной записи в таблице.
Подробнее