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; } }
// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ 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; } }
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; } } }