visual pulsando poner pasar otro como vba textbox keydown enter

vba - pulsando - Mantenga el foco en el cuadro de texto luego de presionar enter



poner el cursor en un textbox c# (2)

¿Estás utilizando la tecla Enter como un disparador para capturar los cambios en el cuadro de texto? Si ese es el caso, pruebe el evento After Update en su lugar. Además, eche un vistazo al evento On Exit. Cuando miré, noté que tiene un parámetro de Cancelar. Si aún desea capturar la tecla Intro en el evento Key Down, podría posiblemente el evento On Exit para evitar que salga del cuadro de texto. Por supuesto, eso probablemente significa que estás permanentemente atascado y es posible que tengas que configurar una forma de permitir la salida.

¿Cómo puedo mantener el foco en un cuadro de texto después de presionar Intro en un formulario de VBA?

Este código agrega el texto a un Listbox y quiero mantener el foco en el cuadro de texto para estar listo para recibir otro elemento.

Cuando hago clic en el botón Agregar, agrega el texto al Cuadro de lista y devuelve el foco al cuadro de texto, mientras que cuando presiono ingresar, no lo hace, incluso si usa el mismo código. ¿Cualquier sugerencia?

Este es mi código para el cuadro de texto:

Private Sub TxtOtherAsset_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then CmdAddOtherAsset_Click End If End Sub

y este es el código de mi botón:

Private Sub CmdAddOtherAsset_Click() If TxtOtherAsset.Text <> "" Then ListAddedAssets.AddItem TxtOtherAsset.Text TxtOtherAsset.Text = "" End If TxtOtherAsset.SetFocus End Sub

Lo intenté de varias maneras, pero no puedo devolver el enfoque al cuadro de texto. Después de presionar enter, el foco pasa al siguiente en TabIndex.


Desde lo más alto de mi cabeza: intente configurar KeyCode en 0. Además, use la clase KeyCodeConstants (de la biblioteca Core) para determinar qué valor tiene la tecla Enter.

Me gusta esto:

If KeyCode = KeyCodeConstants.vbKeyReturn Then CmdAddOtherAsset_Click KeyCode = 0 End If

Elimine la línea que está tratando de establecer el foco en el otro sub ( TxtOtherAsset.SetFocus ).

Espero que funcione para ti. No lo probé.