Рейтинг:
44
Basmeh Awad
попробовать это
на каждом событии keydown Textbox вам придется написать этот код
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
TextBox2.Focus()
End If
End Sub
Private Sub TextBox2_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyDown
If e.KeyCode = Keys.Enter Then
TextBox3.Focus()
End If
End Sub
И так далее
Arjun Kerala
Откройте Дверь Basmeh .Я попробовал твой код.Теперь Все Работает Нормально..Огромное спасибо!
Basmeh Awad
Добро пожаловать:-)
Рейтинг:
38
OriginalGriff
Не.
Это не "нормальное" поведение - ENTER обычно принимает ввод формы и переходит к следующей форме, а TAB перемещается между полями той же формы. Проблема в том, что если вы нарушаете этот механизм, ваше приложение отличается от всех других, к которым привык ваш пользователь, и это вызывает путаницу либо в вашем приложении (и ругается на вас, потому что то, что они ожидают, не произойдет), либо в другом приложении (и ругается на вас, потому что то, что происходит в вашем приложении, просто испортило их работу в другом приложении).)
Это не очень хорошая идея - путать пользователей редко бывает полезно.
Есть ли действительно, действительно хорошая причина, почему вы хотите это сделать?
Tom T
Вы на самом деле делаете предположение здесь; в устаревших/символьных системах ENTER фактически используется для продвижения вперед, и причина этого заключается в том, что устаревший пользователь ожидает этого; т. е.: в этом сценарии вы не сбиваете пользователя с толку, но на самом деле делаете его более нормальным; т. е.: то, что он или она ожидает. Я знаю, вы можете возразить, что этих пользователей следует учить "новой" логике, но куча из них-старые чудаки с толстыми пальцами, которые не хотят находить клавишу tab...
OriginalGriff
Действительно - но поскольку это текстовое поле, оно должно следовать правилам для приложений windows, а не командной строки: даже если оно заменяет устаревшую систему, основанную на cmd.
Если это не так, то пользователи будут еще больше запутаны, так как это приложение "работает так же, как и старое", и ничто другое на компьютере не работает...
Kevin Whitefoot
Я знаю, что отвечаю на старый пост, но я думаю, что важно попытаться бороться с фетишизацией стандартов, "правило" существует для того, чтобы служить пользователям, а не наоборот, и если вы не посмотрите на конкретный случай использования, вы никогда не узнаете, Можно ли разумно применить это правило.
Вы когда-нибудь наблюдали, как клерк по вводу данных или турагент используют программу? Основная часть набора текста происходит на цифровой клавиатуре, и клавиша enter дублируется там и является наиболее естественной для использования. Помните, что многие пользователи специализированных программ используют только эту программу на этом компьютере и могут ожидать, что будут обучены ее использованию, также они в свою очередь ожидают, что клавиши, которые они должны использовать, будут удобными, а клавиша tab не удобна для ввода данных.
Рейтинг:
2
Dhivya Chennai
Private Sub textBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles textBox1.KeyDown
' Determine whether the key entered is the F1 key. If it is, display Help.
If e.KeyCode = Keys.Enter Then
TextBox2.focus
End If
End Sub 'textBox1_KeyDown
muneebalikiyani
Правильный ответ, но @Basme ответил раньше
Member 11822221
Привет
У меня есть вопрос, так как я новичок в этом деле,
Мне нужно ввести целую страницу текста в текстовый редактор.
Как мне это сделать?
Страница набрана на английском языке в блокноте, и я хочу перенести этот текст на
еще один текстовый редактор, который не позволяет копировать и вставлять.
Поэтому мне нужно написать программу в VB, чтобы ввести текст автоматически один раз,
и остановитесь в конце страницы.
Я написал программу, но она печатает страницу снова и снова.
Может ли кто-нибудь предложить горячо написать эту программу.
Спасибо
Рейтинг:
1
XabiAberasturi
Это решение, которое я использую для VB.NET
1. Набор Keypreview=True в свойствах вашей формы.
2. Поставьте этот код в форме keydown событие:
If (e.KeyData = Keys.Enter) Then
'for any multiline control, you have to exit to let multiline 'textbox intro 'keypressing makes line skips.
If ActiveControl.Name = txtMyMutilineTextBox.Name Then Exit Sub
e.SuppressKeyPress = True
SelectNextControl(ActiveControl, True, True, True, True)
End If
Наслаждайтесь !!!!Хабьер Aberasturi Larruzea
Рейтинг:
0
Fredrik Bornander
Вы можете попытаться сохранить список Textbox
ЭС и сосредоточься на одном со следующим TabIndex
когда нажата клавиша enter.
Что-то вроде этого может сработать для вас;
Public Class Form1
Private ReadOnly textBoxes As IList(Of TextBox) = New List(Of TextBox)
Public Sub New()
' This call is required by the designer.
InitializeComponent()
textBoxes.Add(TextBox1)
textBoxes.Add(TextBox2)
textBoxes.Add(TextBox3)
End Sub
Private Sub TextBox1_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles TextBox1.PreviewKeyDown, TextBox2.PreviewKeyDown, TextBox3.PreviewKeyDown
If e.KeyCode = Keys.Enter Then
Dim source As TextBox = CType(sender, TextBox)
Dim nextTextbox As TextBox = textBoxes.Where(Function(tb) tb.TabIndex > source.TabIndex).OrderBy(Function(tb) tb.TabIndex).FirstOrDefault()
If nextTextbox Is Nothing Then nextTextbox = textBoxes.First()
nextTextbox.Focus()
End If
End Sub
End Class
Надеюсь, это поможет,
Фредрик
Arjun Kerala
Дорогой Фредерик , Большое Вам Спасибо......
Рейтинг:
0
Baloch_khan
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{TAB}")
Else
Exit Sub
End If
e.SuppressKeyPress = True 'this will prevent ding sound
End Sub
CHill60
Этому вопросу уже более 3 лет. Вы на самом деле не предоставили "решение" ... просто какой-то довольно плохой код. Избегайте этого пожалуйста
yogesh vaidya
Спасибо, сэр ,
Я попробовал ваш код , и он отлично работает, но не сработал в соответствии с моей инструкцией,
Я хочу выбрать следующий элемент управления , как private sub или любые другие работы ,когда я нажимаю enter, он работает отлично, но когда я нажимаю tab, он перемещается в следующее текстовое поле, как я включаю enter end tab как ту же работу, (yvmail.acc@gmail.com )