https://foro.gambas-es.org/viewtopic.php?f=1&t=5406&p=31992#p31992
-----------------------------------
vuott
Miercoles, 27 Abril 2016, 12:10

Re: Como Hago Para Que Un Textbox No Admita Pegar Texto?
-----------------------------------
[quote user="vicr" post="31989"]Shordi...¿y porqué no dijiste:

"Para números usa un ValueBox, que para eso son... y no un TextBox"[/quote]
Copiando un cualquier texto y pegandolo en un [i]ValueBox[/i], veo que este objecto acepta letras, numeros y otros caracteres. Pulsando "[i]Enter[/i]" el texto no es depurado.


Por lo que se refiere al aceptar solo numeros, por curiosidad muestro este código,  acogiendo la sugerencia de [i]shordi[/i] del evento [i]_Change()[/i]:
[code linenumbers=false syntax=gambas]Public Sub TextBox1_Change()

  Dim bb As Byte[]
  Dim i As Integer

  If Not IsDigit(TextBox1.Text) Then
    bb = Byte[].FromString(TextBox1.Text)
    Do
      If Not IsDigit(Chr(bb[i])) Then
        bb.Remove(i, 1)
        Dec i
      Endif
      Inc i
    Loop Until i = bb.Count
    TextBox1.Text = bb.ToString(0, bb.count)
  Endif
  
End[/code]

o con funciones String:
[code linenumbers=false syntax=gambas]Public Sub TextBox1_Change()

  Dim i As Integer

   For i = 1 To String.Len(TextBox1.Text)
     If Not IsDigit(Mid(TextBox1.Text, i, 1)) Then TextBox1.Text = Replace(TextBox1.Text, Mid(TextBox1.Text, i, 1), Null)
   Next

End[/code]


