Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: переход по Tab или Enter Добавлено: 07.01.08 13:23  

Автор вопроса:  Shota
Ситуация:

Есть форма с несколькими текстбоксами, в Access или FoxPro после ввода в первом текстбоксе после нажатия Enter фокус переходит к следующему текстбоксу ( либо к следующему контролу с большим taborder-ом ). Можно также перемещаться по контролам с помощью клавиши Tab. В Access можно даже регулировать перемещение по записям таблиц ( т.е. после Enter на последнем контроле переходить к следующей записи или оставаться на текущей ) и такое поведение регулируется установкой соответствующих свойств:

Enter key behavior ( default, new line in field ) - для контрола
Cycle( all records, Current record, Current Page) - для всей формы

Вопрос:

Как реализовать переход к следующему контролу не только на [Tab] но и на [Enter] в VB.NET?

Ответить

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

Номер ответа: 1
Автор ответа:
 HuKeJIb 7C9



Вопросов: 2
Ответов: 24
 Профиль | | #1 Добавлено: 08.01.08 19:08
для каждого контрола на форме в событие KeyPress вписываем:

If e.KeyChar = Chr(13) Then
SendKeys.Send("{tab}";)
End If

в vb2005 работает

Ответить

Номер ответа: 2
Автор ответа:
 Shota



Вопросов: 22
Ответов: 52
 Профиль | | #2 Добавлено: 09.01.08 10:52
Уверен работает.........
Просто думал может возможно "настроить" форму на такое поведение, как в Access....... судя по всему придется для каждого контрола обрабатывать событие KeyPress........

Ответить

Номер ответа: 3
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #3 Добавлено: 09.01.08 17:58
а старинный способ LostFocus не подходит?

Ответить

Номер ответа: 4
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #4 Добавлено: 10.01.08 00:41
Не надо для каждого контрола, надо для формы
в дизайнере формы выставь свойство KeyPreview = true ну а потом в обработчике событий формы KeyPress:
Private Sub Form1_KeyPress _
    ;(ByVal sender As System.Object, _
    ByVal e As System.Windows.Forms.KeyPressEventArgs) _
    Handles MyBase.KeyPress
        If e.KeyChar = Chr(13) Then _
        Me.SelectNextControl(Me.ActiveControl, True, True, True, True)
    End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Shota



Вопросов: 22
Ответов: 52
 Профиль | | #5 Добавлено: 10.01.08 11:15
Не надо для каждого контрола, надо для формы
в дизайнере формы выставь свойство KeyPreview = true ну а потом в обработчике событий формы KeyPress .......


Это приемлимый вариант спасибо...

Хотя..... вот только попробовал:
TextBox
ComboBox
CheckBox
с этих контролов фокус перемещается на следующий а вот с
Button - нет.......... хотя может и по смыслу не надо соскакивать с кнопки на ентер.....

Ответить

Страница: 1 |

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



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