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

problemas para validar posición del cursor

Estas en el tema de problemas para validar posición del cursor en el foro de .NET en Foros del Web. Muy buenos dias a todos los amigos del foro, quisiera que me ayudaran a descubrir cual es la forma para saber si el cursor está ...
  #1 (permalink)  
Antiguo 26/04/2011, 07:26
 
Fecha de Ingreso: junio-2010
Ubicación: Maracaibo, Venezuela
Mensajes: 139
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta problemas para validar posición del cursor

Muy buenos dias a todos los amigos del foro, quisiera que me ayudaran a descubrir cual es la forma para saber si el cursor está en un textBox determinado.

lo estaba haciendo de esta forma:

If textBox1.Focus = True Then
Acciones...
End If


Pero no me funciona, ¿alguien podría orientarme sobre cual es la forma correcta? Cualquier información será muy bien recibida..
  #2 (permalink)  
Antiguo 26/04/2011, 09:28
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: problemas para validar posición del cursor

Estas usando Windows Forms o web? cual framework?
  #3 (permalink)  
Antiguo 26/04/2011, 09:30
 
Fecha de Ingreso: junio-2010
Ubicación: Maracaibo, Venezuela
Mensajes: 139
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: problemas para validar posición del cursor

Cita:
Iniciado por osvier Ver Mensaje
Estas usando Windows Forms o web? cual framework?
Estoy utilizando visual basic 2010, windows form, framework 4.0
  #4 (permalink)  
Antiguo 26/04/2011, 09:42
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: problemas para validar posición del cursor

Pues, la propiedad es Focused

Código:
textBox1.Enter += new EventHandler(FocusChange);
textBox1.Leave += new EventHandler(FocusChange);
Código:
private void FocusChange(object sender, EventArgs e)
{
        MessageBox.Show(textBox1.Focused.ToString());
}
  #5 (permalink)  
Antiguo 26/04/2011, 13:01
 
Fecha de Ingreso: junio-2010
Ubicación: Maracaibo, Venezuela
Mensajes: 139
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: problemas para validar posición del cursor

Cita:
Iniciado por osvier Ver Mensaje
Pues, la propiedad es Focused

Código:
textBox1.Enter += new EventHandler(FocusChange);
textBox1.Leave += new EventHandler(FocusChange);
Código:
private void FocusChange(object sender, EventArgs e)
{
        MessageBox.Show(textBox1.Focused.ToString());
}
ok, disculpame por preguntarte esto pero dime como funciona. Yo lo que hacia era que intentaba evaluar si el foco estaba en el textbox:

If textbox1.Focus = True Then
le hago algunas cosas al textbox1
else
se las hago entonces al textbox2
end if


pero con esta nueva función que pusiste no comprendo la logica. Al pegar el codigo de la función me da error.
  #6 (permalink)  
Antiguo 26/04/2011, 17:35
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: problemas para validar posición del cursor

Según yo en Vb.net debe ser igual (yo uso C#).

El control textbox tiene un método Focus() que básicamente mueve el cursor hacia el textbox.

Aparte esta la propiedad Focused, que es un boleano que indica si el textbox tiene el cursor o no.

Ahora, explicando mi código.

El Textbox tambien tiene 2 EVENTOS (Enter y Leave).

Los eventos son "pedazos" de código que se ejecutan o disparan bajo ciertas circunstancias. Cuando le das click al textbox, el cursor se mete a dicho textbox (este es el evento Enter).

Al igual, cuando das click en cualquier otro control, el cursor se mueve a ese control, con lo que el textbox pierde el cursor (el evento Leave)

Esta simplemente es una forma de agregar un evento a un control (lo que normalmente hacemos en la parte de diseño):
Código:
textBox1.Enter += new EventHandler(FocusChange);
textBox1.Leave += new EventHandler(FocusChange);
Este vendría siendo mi método que asigne a los eventos Enter y Leave, solamente imprime la propiedad Focused para saber si el textbox entro o dejo el focus del textbox:
Código:
private void FocusChange(object sender, EventArgs e)
{
        MessageBox.Show(textBox1.Focused.ToString());
}
Ahora, no explicas mucho acerca de lo que quieres hacer, pero me estoy imaginando un posible escenario, que sería, tienes un textbox, y un botón, y cuando le dan click al boton quieres saber si el textbox tiene el cursor. (?).. si ese es el caso, no te va a funcionar, porque al darle click al boton, automaticamente éste toma el cursor, por lo que el textbox nunca va a tener el focus. Talvez si dieras un poquito mas de información sobre lo que quieres hacer, alguien te pueda ayudar.
  #7 (permalink)  
Antiguo 26/04/2011, 17:46
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: problemas para validar posición del cursor

no sé si esto te serviría:

1. Agrega una variable
Código:
private string ultimoTextBox = "";
2. Agrega el evento Enter para los dos textboxes (esto lo puedes hacer en forma de diseño o con código)
  • en diseño, selecciona tu textbox, ve a la ventana de propiedades y en la parte superior busca el boton que tiene un icono de rayo, (este boton muestra los eventos del textbox). Busca el evento Enter, dale doble click para que genere el evento.
  • En código. en el form_load escribe:
  • textbox1.Enter += new EventHandler(textbox1_Enter);

Ya que tienes los dos eventos para Enter, en cada uno pon el valor a la variable ultimoTextbox = al nombre del textbox que gano el focus:
Código:
protected void textbox1_Enter(object sender, EventArgs e)
{
      ultioTextBox = "textbox1";
}
y ya al final, en tu botón. pudieras hacer algo como:

Código:
if(ultimoTextbox == "textbox1")
   //modificas textbox1
else
   //modificas textbox2

Etiquetas: cursor
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 05:50.