Ayuda con textBox [c#]

Iniciado por Andre20, 16 Marzo 2013, 05:52 AM

0 Miembros y 1 Visitante están viendo este tema.

Andre20

Bueno, tengo un programa que cada 5 segundos envía un texto aleatoriamente (es un ejemplo), los textos son los siguientes
-Hola
-Adiós
-No sé
-Sí
-No
Y lo que yo quiero es que cuando aparezca X texto se de una función

Algo así

Textbox:
Adiós
No sé

*Se cierra el programa*

Cuando toque Sí se de la función de que se cierre el programa.. No sé si me explico pero si alguien quiere preguntarme algo le responderé en el menor tiempo posible

Gracias (:

Crazy.sx

#1
Podrías usar un Timer que controle en todo momento lo que se ingresa en el Textbox:

Código (csharp) [Seleccionar]
private void Timer1_Tick(System.Object sender, System.EventArgs e)
{
if (TextBox1.Text == "SI") { //Si el texto es SI entonces...
System.Environment.Exit(0);  //se cierra el programa
}
}


Así de sencillo.

Saludos.
Destruir K. LOL

$Edu$

Cita de: Lucas.AR en 16 Marzo 2013, 08:08 AM
Podrías usar un Timer que controle en todo momento lo que se ingresa en el Textbox:

Código (csharp) [Seleccionar]
private void Timer1_Tick(System.Object sender, System.EventArgs e)
{
if (TextBox1.Text == "SI") { //Si el texto es SI entonces...
System.Environment.Exit(0);  //se cierra el programa
}
}


Así de sencillo.

Saludos.

Pero creo que ese TextBox va a ir aumentando de lineas, es decir, tendra escrito todo lo anterior tambien, por lo tanto no sera igual a Sí nunca.

Lo que tienes que hacer es crear el evento TextBox_Changed() algo asi es, que se ejecuta cuando cambia de texto el TextBox y le pones de codigo:

if (TextBox1.Text.Contains("Sí")) System.Environment.Exit(0);

Eso en el caso de que la palabra Sí (ya que solo diste un ejemplo) seria algo como "apagar", porque ahi lo hace el codigo es verificiar si en todo el texto existe esa palabra. Si es algo que repitiras seguramente, tendras que leer el ultimo cambio del textbox, es decir, la ultima linea y ahi ya no usaras Contains(), tendras que usar otros metodos que no recuerdo ahora mismo pero los encontras facil en google.


Si el TextBox se va borrando y poniendo una palabra de esas aleatorias cada vez, ahi si funcionaria lo que puso Lucas.AR, pero pone ese codigo dentro del evento TextBox1_Changed() de todas formas.

Crazy.sx

Cita de: $Edu$ en 16 Marzo 2013, 13:54 PM
Pero creo que ese TextBox va a ir aumentando de lineas, es decir, tendra escrito todo lo anterior tambien, por lo tanto no sera igual a Sí nunca.

Lo que tienes que hacer es crear el evento TextBox_Changed() algo asi es, que se ejecuta cuando cambia de texto el TextBox y le pones de codigo:

if (TextBox1.Text.Contains("Sí")) System.Environment.Exit(0);

Eso en el caso de que la palabra Sí (ya que solo diste un ejemplo) seria algo como "apagar", porque ahi lo hace el codigo es verificiar si en todo el texto existe esa palabra. Si es algo que repitiras seguramente, tendras que leer el ultimo cambio del textbox, es decir, la ultima linea y ahi ya no usaras Contains(), tendras que usar otros metodos que no recuerdo ahora mismo pero los encontras facil en google.


Si el TextBox se va borrando y poniendo una palabra de esas aleatorias cada vez, ahi si funcionaria lo que puso Lucas.AR, pero pone ese codigo dentro del evento TextBox1_Changed() de todas formas.

Es verdad che, no entendí lo que pedía je. Saludos.  ;)
Destruir K. LOL

Andre20

Muchas gracias a los 2, me ha servido.. ¿Ahora como sería lo siguiente?

TextBox:
7
6
3
4
5
8 ----> Cambiado por -----> LISTO
1
2
(se pondrían números al azar?

Y que cuando aparezca el número 8 se cambie por la palabra LISTO
Gracias xD

$Edu$

No he entendido bien, tendrias que explicarte mejor la proxima vez.
Pero te digo que si quieres sacar numeros al azar, en google encontraras ejemplos, y para hacer lo de la palabra Listo cuando aparezca el 8, es usar el codigo que te han dejado solo que en vez de salir del programa cambiaras esa palabra por LISTO. Busca sobre manejo de texto.