Ejemplo n.º 1
0
        private void НайтиГрузовыеМеста()
        {
            if (ТекстДляПоискаМест.Text.Length <= 4)
            {
                Инфо.Ошибка("Укажите более 4-х подряд цифр номера места.");
                return;
            }

            // очистить список найденных грузовых мест

            СписокНайденныхГрузовыхМест.Items.Clear();

            // передать условие поиска на сервер

            Cursor.Current = Cursors.WaitCursor;
            ОтветСервера   = Обмен.Послать("ПоискГрузовыхМест", Обмен.ПодготовитьСтроку(ТекстДляПоискаМест.Text));
            Cursor.Current = Cursors.Default;

            if (ОтветСервера == null)
            {
                return;
            }

            // добавляем найденные места

            foreach (string[] str in ОтветСервера)
            {
                string[] row = { str[0] };
                СписокНайденныхГрузовыхМест.Items.Add(new ListViewItem(row));
            }

            // переведем фокус на список мест

            if (СписокНайденныхГрузовыхМест.Items.Count > 0)
            {
                СписокНайденныхГрузовыхМест.Focus();

                // сфокусируемся на первой строке в списке и выделим ее

                СписокНайденныхГрузовыхМест.Items[0].Focused  = true;
                СписокНайденныхГрузовыхМест.Items[0].Selected = true;
            }
        }
Ejemplo n.º 2
0
        // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ

        private void ФормаПоискаГрузовыхМест_KeyDown(object sender, KeyEventArgs e)
        {
            if (!e.Handled && e.KeyCode == System.Windows.Forms.Keys.Up)
            {
                // если фокус на списке мест и находимся на первой строке,
                // то переместим его на поле ввода

                if (СписокНайденныхГрузовыхМест.Focused && (СписокНайденныхГрузовыхМест.FocusedItem.Index == 0))
                {
                    ТекстДляПоискаМест.Focus();
                    e.Handled = true;
                }
            }

            if (!e.Handled && e.KeyCode == System.Windows.Forms.Keys.Down)
            {
                // если фокус на поле ввода и список мест не пустой,
                // то переместим его на список мест

                if (ТекстДляПоискаМест.Focused && (СписокНайденныхГрузовыхМест.Items.Count > 0))
                {
                    СписокНайденныхГрузовыхМест.Focus();
                    e.Handled = true;
                }
            }

            if (!e.Handled && аботаСоСканером.НажатаПраваяПодэкраннаяКлавиша(e))
            {
                _Завершить();
                e.Handled = true;
            }

            if (!e.Handled && аботаСоСканером.НажатаЛеваяПодэкраннаяКлавиша(e))
            {
                _Назад();
                e.Handled = true;
            }
        }
Ejemplo n.º 3
0
        private void ФормаПриемГрузовыхМест_KeyDown(object sender, KeyEventArgs e)
        {
            int ИндексТекущейСтраницы = ОсновнаяПанель.SelectedIndex;

            if (e.KeyCode == System.Windows.Forms.Keys.F3) // редактирование списка сотрудников
            {
                e.Handled = true;
                СотрудникиРедактироватьСписок();
            }

            // Обработка нажатия клавиш на странице Места

            if (ИндексТекущейСтраницы == 0)               // СтраницаМеста
            {
                if (аботаСоСканером.НажатаКлавишаСкан(e)) // сканирование
                {
                    e.Handled = true;
                    СканированиеШК(e);
                    return;
                }

                if ((int)e.KeyCode == 8) // BKSP
                {
                    СписокГрузовыхМестУдалитьСтроку(СписокГрузовыхМест.FocusedItem);
                    e.Handled = true;
                }

                if (аботаСоСканером.НажатаЛеваяПодэкраннаяКлавиша(e))
                {
                    _Назад();
                    e.Handled = true;
                }

                if (аботаСоСканером.НажатаПраваяПодэкраннаяКлавиша(e))
                {
                    _Завершить();
                    e.Handled = true;
                }

                if ((e.KeyCode == System.Windows.Forms.Keys.Right))
                {
                    ПерейтиНаСтраницу(1);
                    e.Handled = true;
                }
            }

            // Обработка нажатия клавиш на странице Поиск

            if (ИндексТекущейСтраницы == 1) // СтраницаПоиск
            {
                if (e.KeyCode == System.Windows.Forms.Keys.Up)
                {
                    // если фокус на списке мест и находимся на первой строке,
                    // то переместим его на поле ввода

                    if (СписокНайденныхГрузовыхМест.Focused && (СписокНайденныхГрузовыхМест.FocusedItem.Index == 0))
                    {
                        ТекстДляПоискаМест.Focus();
                        e.Handled = true;
                    }
                }

                if (e.KeyCode == System.Windows.Forms.Keys.Down)
                {
                    // если фокус на поле ввода и список мест не пустой,
                    // то переместим его на список мест

                    if (ТекстДляПоискаМест.Focused && (СписокНайденныхГрузовыхМест.Items.Count > 0))
                    {
                        СписокНайденныхГрузовыхМест.Focus();
                        e.Handled = true;
                    }
                }

                if (((e.KeyCode == System.Windows.Forms.Keys.Left) && (!ТекстДляПоискаМест.Focused || String.IsNullOrEmpty(ТекстДляПоискаМест.Text))) || аботаСоСканером.НажатаЛеваяПодэкраннаяКлавиша(e))
                {
                    ПерейтиНаСтраницу(0);
                    e.Handled = true;
                }

                if (аботаСоСканером.НажатаПраваяПодэкраннаяКлавиша(e))
                {
                    НайтиГрузовыеМеста();
                    e.Handled = true;
                }
            }
        }