• Domingo 22 de Diciembre de 2024, 20:03

Autor Tema:  Abligar A Que Ponga "-" En Un Textbox  (Leído 2789 veces)

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Abligar A Que Ponga "-" En Un Textbox
« en: Domingo 22 de Octubre de 2006, 04:08 »
0
hola amigos, tendro dos consultas:

1. como puedo hacer para obligar, en un textbox, que el cuarto caracter, sea si o si, "-" un guion, por ejemplo "AAA-111 a".

2. como le hago o en que evento pongo para que cuando digite la tecla enter o el tab, para ir al otro textbox, este controle que si el campo es nulo, me salga un mensaje.

por que yo lo pongo en el boton, de guardar, y es esperar mucho, sino que cuando pase ese textbox, salte el mensaje.

gracias  :comp:
Sagma

Cajami

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Abligar A Que Ponga "-" En Un Textbox
« Respuesta #1 en: Domingo 22 de Octubre de 2006, 04:18 »
0
Bueno si no me equivoco ps en el evento Gotfocus de los TextBox que se desencadena cuando pierde el cursor, y si no me equivoco ps debes poner asi:

If Mid(TextBox1. Text, 4,1) = "-" Then
 TextBox2. Focus
Esle
 e.Handles = True
End If

Bueno probaría eso que te he dado pero he formateado mi maquina y aun no le instala el visual, espero que sea ese :D  :hola:

Tumbes - Perú
Lima - Perú

-------------------------------------------------------------------------------------------------------
"Persigue tus metas, tus objetivos, tus sueños, nunca t rindas si t caes 1000 veces levantat 1000 veces y sigue adelante..."

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Abligar A Que Ponga "-" En Un Textbox
« Respuesta #2 en: Domingo 22 de Octubre de 2006, 05:40 »
0
Aqui te va otra ayuda, pero con el evento KeyPress.
Código: Text
  1.  
  2.     Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
  3.         If TextBox1.Text.Length = 3 Then
  4.             If e.KeyChar = "-" Then
  5.                 MsgBox("ta correcto")
  6.             Else
  7.                 MsgBox("ta INcorrecto")
  8.                 e.Handled = True
  9.             End If
  10.         End If
  11.     End Sub
  12.  
  13.  

Ojala y te sirva.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Abligar A Que Ponga "-" En Un Textbox
« Respuesta #3 en: Domingo 22 de Octubre de 2006, 05:48 »
0
Citar
CODE
   Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
       If TextBox1.Text.Length = 3 Then
           If e.KeyChar = "-" Then
               MsgBox("ta correcto")
           Else
               MsgBox("ta INcorrecto")
               e.Handled = True
           End If
       End If
   End Sub
[/CODE]

solo que hay un problema.

Cuando estamos en el cuarto caracter y queremos volver pa atras, con la tecla (<--), que no se que se llama, lo toma como un caracter no correcto.

trata de acomodar
Citar
                e.Handled = True
poniendole un If antes de ejecutar esa funcion, verificando si es esa tecla.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Abligar A Que Ponga "-" En Un Textbox
« Respuesta #4 en: Lunes 23 de Octubre de 2006, 18:08 »
0
gracias amigo, lo pruebo y les aviso  :comp:
Sagma

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Abligar A Que Ponga "-" En Un Textbox
« Respuesta #5 en: Lunes 23 de Octubre de 2006, 19:27 »
0
Citar
1. como puedo hacer para obligar, en un textbox, que el cuarto caracter, sea si o si, "-" un guion, por ejemplo "AAA-111 a".

usa expresiones regulares, por ejemplo esta expresion valida que un texto inicie con mayuscula, este seguido de tres letras en minuscula, luego guion luego una letra mayuscula:
Código: Text
  1.  
  2. using System.Text.RegularExpressions;
  3. ...
  4. ...
  5. ...
  6.             if (Regex.Match(&#34;Juan-K&#34;, &#34;[A-Z][a-z][a-z][a-z][-][A-Z]+&#34;).Success)
  7.                  MessageBox.Show(&#34;bien&#34;);
  8.              else
  9.                  MessageBox.Show(&#34;mal&#34;);
  10.  

Citar
2. como le hago o en que evento pongo para que cuando digite la tecla enter o el tab, para ir al otro textbox, este controle que si el campo es nulo, me salga un mensaje.
Usa  el evento Validating:

Código: Text
  1.         private void txtBox_Validating(object sender, CancelEventArgs e)
  2.         {
  3.             if(txtBox.Text ==&#34;&#34;)
  4.             {
  5.                 MessageBox.Show(&#34;error&#34;);
  6.                 e.Cancel = true;
  7.             }
  8.         }
  9.  
:smartass:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Salteador

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Abligar A Que Ponga "-" En Un Textbox
« Respuesta #6 en: Martes 24 de Octubre de 2006, 04:03 »
0
Tio no le metas esa chufa de codigo en .net xdd   If e.KeyChar = "-" Then  

Es valida no digo que no pero ya que pones eso usa:

  If e.KeyCode = Keys.OemMinus Then

  End If

Para que aprenda a que hay una enumeracion que se llama keys. donde contiene todo lo posible que alguien meta por teclado. Porque si en vez de - fuese   pause o cualquier cosa lo hago igual solo que buscando cual es el que necesita para eso una forma es la siguiente si no sabes el codigo exactamente.

.net : haces un if con e.keycode y le metes un breakpoint,  arrancas usas  la tecla que quieras  te saltara al codigo y con F8 vas paso a paso y cuando entre este en el if te situas con el raton encima de e.keycode y te mostrara lo que vale en ese momento o bien haces boton derecho agregar inspeccion.

Esto se utiliza para este tipo de cosas y mil mas cuando te fallan programas vas paso a paso y ves donde no hace lo que quieres.