not net firing event ejemplo changed asp c# events text textbox

c# - net - ¿Cómo obtener el texto NUEVO en TextChanged?



text changed asp net (4)

Eche un vistazo a los eventos del cuadro de texto como KeyUp , KeyPress, etc. Por ejemplo:

private void textbox_KeyUp(object sender, KeyEventArgs e) { // Do whatever you need. }

Tal vez estos pueden ayudarte a lograr lo que estás buscando.

En un TextBox estoy monitoreando los cambios de texto. Necesito revisar el texto antes de hacer algunas cosas. Pero solo puedo comprobar el texto antiguo en el momento. ¿Cómo puedo obtener el nuevo texto?

private void textChanged(object sender, EventArgs e) { // need to check the new text }

Sé que .NET Framework 4.5 tiene la nueva clase TextChangedEventArgs pero tengo que usar .NET Framework 2.0.


Incluso con la versión anterior .net fw 2.0, debería tener el valor nuevo y antiguo en eventArgs si no está en la propiedad textbox.text ya que el evento se activa después y no durante el cambio de texto.

Si desea hacer cosas mientras se está cambiando el texto, intente con el evento KeyUp en lugar del Cambiado.


Obteniendo el NUEVO valor

Puedes usar la propiedad Text del TextBox . Si este evento se usa para varios cuadros de texto, entonces querrá usar el parámetro del sender para obtener el control de TextBox correcto, como ...

private void textChanged(object sender, EventArgs e) { TextBox textBox = sender as TextBox; if(textBox != null) { string theText = textBox.Text; } }

Obteniendo el valor ANTIGUO

Para aquellos que buscan obtener el valor anterior, tendrá que realizar un seguimiento de eso usted mismo. Sugeriría una variable simple que comience como vacía y que cambie al final de cada evento:

string oldValue = ""; private void textChanged(object sender, EventArgs e) { TextBox textBox = sender as TextBox; if(textBox != null) { string theText = textBox.Text; // Do something with OLD value here. // Finally, update the old value ready for next time. oldValue = theText; } }

Podría crear su propio control TextBox que se hereda del integrado, y agrega esta funcionalidad adicional, si planea usar esto mucho.


private void stIDTextBox_TextChanged(object sender, EventArgs e) { if (stIDTextBox.TextLength == 6) { studentId = stIDTextBox.Text; // Here studentId is a variable. // this process is used to read textbox value automatically. // In this case I can read textbox until the char or digit equal to 6. } }