Foros del Web » Programación para mayores de 30 ;) » .NET »

Como inhabilitar la tecla enter RichTextBox

Estas en el tema de Como inhabilitar la tecla enter RichTextBox en el foro de .NET en Foros del Web. Tengo 2 problemas que conllevan a uno problema 1 Estoy desarrollando una aplicacion vb.net 2005 y pues necesito inhabilitar por codigo la tecla enter de ...
  #1 (permalink)  
Antiguo 08/08/2009, 17:45
 
Fecha de Ingreso: marzo-2008
Mensajes: 7
Antigüedad: 16 años, 2 meses
Puntos: 0
Como inhabilitar la tecla enter RichTextBox

Tengo 2 problemas que conllevan a uno

problema 1

Estoy desarrollando una aplicacion vb.net 2005 y pues necesito inhabilitar por codigo la tecla enter de un control RichTextBox ya q mi aplicacion ese control no quiero que se dee enter

este es una ejemplo de comoi lo estaba tratanado de hacer pero no sale


'sale el mensaje pero igual me da el enter al momento de ejecución...no me sirve
Private Sub txtCuerpo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCuerpo.KeyPress
If e.KeyChar = Chr(13) Then
MessageBox.Show("no se puede dar enter en estre control")
End If
End Sub

a ver si alguien puede ayudarme en este problema se los agradeceria un monton

desde ya muchas gracias

problema 2

En el formulario donde tengo q inhabilitar el control es un control RichTextBox que lo denomine para mi proyecto Cuerpo ya que es donde se escribiran algunas cosas para poder imprimirlo.

El problema esta en que cuando yo escribo sin dar enter normal y darle clic en imprimir mi crystal me sale el reporte sin problemas, pero al darle enter al momento que estoy escribiendo mi cuerpo y al darle clic en imprimir me sale error que dice mm

Error falta ' (apostrofe) el contenido de mi cuerpo ..... etc.. etc ' falta final

((apostrofe) estoy haciendo referencia al simbolo q sale ok!! no quiere decir q me salga esa palabra)

no se si hay q modificar algo en el crystal para que no me salga error pero pues he movido todo y nada derrepente por hay ahy algo q se me fue... AYUDAAAA!!!

He buscado informacion de sobre esto pero no doy con dicho problema es por eso ha q me veo forzado inhabilitar la tecla enter de dicho formulario y pues si alguien tiene solucion a cualquiera de los 2 problemas me caeria bien gracias nuevamente nos vemos Suerte en todo!!!

Gracias!!! Atentamente;

Changolele
  #2 (permalink)  
Antiguo 10/08/2009, 02:05
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Como inhabilitar la tecla enter RichTextBox

Mira si te sirve esto

http://www.netveloper.com/contenido2..._0&IDP=2&P=198

Averiguar la tecla pulsada

...
Pero en el caso que nos interesa, el segundo parámetro es del tipo KeyPressEventArgs. Mediante ese parámetro podemos saber que tecla es la que se ha pulsado, (propiedad KeyChar), si queremos que se ignore la pulsación de esa tecla, podemos usar la propiedad Handled, para ello tendremos que asignarle un valor verdadero (True).
...
  #3 (permalink)  
Antiguo 10/08/2009, 20:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Como inhabilitar la tecla enter RichTextBox

2 cosas:
1.- Estas haciendo bien en la primera función capturando la tecla, pero en ningún momento estas cancelando la pulsación, ahora mismo no tengo VS instalado por que acabo de formatear mi laptop, en cuanto lo instale veré como es que se cancela, lo mas probable es que el KeyPressEventArgs tenga un método cancel, algo como esto:

Código:
Private Sub txtCuerpo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCuerpo.KeyPress
    If e.KeyChar = Chr(13) Then
         e.Cancel()
         MessageBox.Show("no se puede dar enter en estre control")
    End If
End Sub
En todo caso si eso no funciona podrías "presionar" la tecla 'backspace' antes del mensaje para borrar el enter.

2.- Lo que realmente te recomendaría es que pongas todo siempre entre apostrofes, así te evitarás dolores de cabeza en caso de que algún otro idioma tenga caractéres con comportamiento similar.

Para eso lo que tienes que hacer es cuando se genere el evento que va a tomar el texto del RichTextBox en vez de decir: "RichTextBox.Text()" dirías "' & RichTextBox.Text() & '".
Si vas a pasar ese contenido a una variable entonces puedes usar la clase: System.Text.StringBuilder para mejorar un poquito el performance.

Última edición por pedro_cesar; 10/08/2009 a las 20:18 Razón: Me falto una linea de 'código'
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:07.