Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Обработка нажатия клавиш Добавлено: 09.08.10 17:27  

Автор вопроса:  Nikos
Подскажите плиз, как реализовать следущее: имеет ся две вкладки с текстбоксами, надо чтоб принажатии клавиши Tab (когда фокус находится на последнем текстбоксе первой вкладки) активной становилась вторая вкладка и курсор попадал в первый текстбокс второй вкладки. Реализовать необходимо на c#. У самого не получается, не могу откулючить стандартную обработку клавиши Tab, то есть просто происходит переход курсора на первый тестбокс. Пробовал перехватывать формой событие нажатия и далее не передаввать его контролу, но событие все равно передается(((

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #1 Добавлено: 09.08.10 19:05
Код формы для 3 вкладок, на каждой по 5 текстбоксов. Перевод фокуса работает в обоих направлениях (по Tab и Shift+Tab)

  1.         protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
  2.         {
  3.             if (keyData == Keys.Tab)
  4.             {
  5.                 if (ActiveControl == textBox5)
  6.                 {
  7.                     tabControl1.SelectedTab = tabPage2;
  8.                     textBox6.Focus();
  9.                     return true;
  10.                 }
  11.                 else if (ActiveControl == textBox10)
  12.                 {
  13.                     tabControl1.SelectedTab = tabPage3;
  14.                     textBox11.Focus();
  15.                     return true;
  16.                 }
  17.                 else if (ActiveControl == textBox15)
  18.                 {
  19.                     tabControl1.SelectedTab = tabPage1;
  20.                     textBox1.Focus();
  21.                     return true;
  22.                 }
  23.             }
  24.             else if (keyData == (Keys.Tab | Keys.Shift))
  25.             {
  26.                 if (ActiveControl == textBox1)
  27.                 {
  28.                     tabControl1.SelectedTab = tabPage3;
  29.                     textBox15.Focus();
  30.                     return true;
  31.                 }
  32.                 else if (ActiveControl == textBox11)
  33.                 {
  34.                     tabControl1.SelectedTab = tabPage2;
  35.                     textBox10.Focus();
  36.                     return true;
  37.                 }
  38.                 else if (ActiveControl == textBox6)
  39.                 {
  40.                     tabControl1.SelectedTab = tabPage1;
  41.                     textBox5.Focus();
  42.                     return true;
  43.                 }
  44.             }
  45.             return false;
  46.         }

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам