Shell   17-12-2023, 01:30
#1
Buenas!.

En este ejemplo tenemos tres textboxes que comparten código y manipulador de evento.
Solo se puede escribir un carácter y este no se repite, aunque dejes pulsada la tecla.
Intenta dejar el dedo sobre la tecla a ver que pasa. Ah, claro, selecciona antes un textbox. Rolleyes

Código:
Private change As Boolean

Public Sub Form_Open()

  Dim cajadetexto As TextBox

  With Me
    .Arrangement = Arrange.Vertical
    .Spacing = True
    .Margin = True
    .Centered = True
    .Title = "Deja pulsada la tecla"
  End With

  For i As Integer = 0 To 2
    cajadetexto = New TextBox(Me) As "CajadeTexto"
    With cajadetexto
      .Height = 42
      .Width = 385
      .Font.Size = 18
    End With
  Next

  change = True

End

Public Sub CajadeTexto_Change()

  'Cada vez que cambia el contenido de la caja de texto
  If change Then Last.ReadOnly = True
  change = False
  Me.Title = "No puedes"

End

Public Sub CajadeTexto_KeyRelease()

  'Cada vez que levantas el dedo de la tecla
  change = True
  Last.ReadOnly = False
  Me.Title = "Deja pulsada la tecla"

End

¿ Lo lograrías de otra forma ?.
 

Debilidad 1.

Si dejas pulsado y cambias de textbox....no funciona

Saludos
Última modificación: 17-12-2023, 01:34 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shell   17-12-2023, 11:54
#2
Creo que con esto se soluciona. Se le añade al código lo siguiente:

Código:
.....
Public Sub CajadeTexto_MouseDown()
 'Al cambiar de caja de texto usando el ratón
  change = True
  Last.ReadOnly = False
 
End
Última modificación: 17-12-2023, 11:58 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.