Título: Problema con MessageBox Publicado por: darkxxx en 1 Octubre 2008, 04:53 am saludos a todos, seré breve, mi problema es el siguiente tengo un botón y una etiqueta label y quiero que cuando haga click en el botón en el label se vayan copiando 10 mensaje al mismo tiempo y para eso hago un contador pero porque el código no funciona y solo me imprime una vez en el label
namespace WindowsFormsApplication4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { for (int i = 0; i < 10; i++) { etiqueta.Text = "hola"; } } } } PD: soy novato en c# Título: Re: Problema con MessageBox Publicado por: Novlucker en 1 Octubre 2008, 04:57 am No entiendo muy bien lo que quieres hacer... eso esta bien.. solamente que como el mensaje en el for es el mismo y todo ocurre tan rápido que no llegas a ver nada raro, pero seguro el for se ejecuta correctamente :P
Título: Re: Problema con MessageBox Publicado por: darkxxx en 1 Octubre 2008, 04:59 am y porque en el label no me aparece
hola hola hola hola hola hola hola hola hola hola si no que me imprime 1 solo hola al hacer click en el boton Título: Re: Problema con MessageBox Publicado por: seba123neo en 1 Octubre 2008, 05:05 am Hola, pues claro debes decirle que escriba "sobre el texto ya escrito", ahi esta escribiendo siempre una sola vez....algo asi:
Código: etiqueta.Text = etiqueta.Text & vbnewline & "hola"; saludos. Título: Re: Problema con MessageBox Publicado por: Novlucker en 1 Octubre 2008, 05:13 am Ya te lo ha dicho seba123neo, del modo que tu lo estabas haciendo pisas los datos, si lo que quieres hacer es mostrar muchos "hola" debes de acumular los datos en la variable
Saludos Título: Re: Problema con MessageBox Publicado por: Meta en 1 Octubre 2008, 08:37 am saludos a todos, seré breve, mi problema es el siguiente tengo un botón y una etiqueta label y quiero que cuando haga click en el botón en el label se vayan copiando 10 mensaje al mismo tiempo y para eso hago un contador pero porque el código no funciona y solo me imprime una vez en el label namespace WindowsFormsApplication4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { for (int i = 0; i =< 10; i++) { etiqueta.Text = "hola"; } } } } PD: soy novato en c# En realidad si estás visualizando 10 veces hola lo que ocurre es que se sustituye 10 veces hola dentro del mismo objeto. Código Saludos. Título: Re: Problema con MessageBox Publicado por: KJD en 1 Octubre 2008, 13:44 pm como te dijeron recien, lo que pasa es que tu codigo dentro del for reemplaza el texto ya introducido, osea, en primera instancia tienes el label co un texto, cuando entra en el for, tu le dices que el texto ahora es "hola", cuando vuelve a ejecutarce el for, dices que el texto del lebel sea otra vez "hola", pero no le dices que mantenga el texto anterior, por lo que siempre visualizaras un solo "hola".
Intenta cambiar el codigo dentro del for por: Código: etiqueta.Text = etiqueta.Text + "hola\r\n"; asi sumara el valor antes almacenado en el label con el nuevo texto. (el \r\n es para que haga un salto de linea) Otra aclaracion, tu bucle for, solo podras visualizar 9 "holas", cambia la condicion a i<=10. Título: Re: Problema con MessageBox Publicado por: MANULOMM en 1 Octubre 2008, 15:08 pm hola es como dicen pero en c# pueden hacerlo asi:
Código: etiqueta.tex += "Hola"; Atentamente, Juan Manuel Lombana Medellín - Colombia Título: Re: Problema con MessageBox Publicado por: KJD en 1 Octubre 2008, 15:27 pm hola es como dicen pero en c# pueden hacerlo asi: Código: etiqueta.tex += "Hola"; Atentamente, Juan Manuel Lombana Medellín - Colombia no es por ofender, pero si lo pone asi, obtendra algo como "HolaHolaHolaHolaHolaHolaHolaHolaHola", tiene que agregarle el \r\n. Título: Re: Problema con MessageBox Publicado por: el_chente23 en 16 Octubre 2008, 21:35 pm Otra aclaracion, tu bucle for, solo podras visualizar 9 "holas", cambia la condicion a i<=10. No, asi como esta esta correcto, si le agrega el = mostraria 11 hola porque el indice empieza de 0 ;D Saludos |