elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Mensajes dinamicos en form
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mensajes dinamicos en form  (Leído 235 veces)
idzen

Desconectado Desconectado

Mensajes: 51


Ver Perfil
Mensajes dinamicos en form
« en: 18 Octubre 2020, 02:13 »

Hola chicos, buenas, mucho tiempo que no me pasaba por este foro, estoy haciendo un ejericio en C# y no tengo idea como hacerlo, pido pistas y de ahi en adelante me guiare solo.

El tema es el siguiente, estoy haciendo un formulario con varios botones que indican acciones. Ej: Atacar, perder vida, curarse etc. Quiero en una parte de este mismo formulario aparezca que accion hice, es decir, si atacas, pues que salga "atacaste" y asi con todas las acciones. Para esto NECESITO cree un Groupbox donde se supone que van a esar todas estas acciones apareciendo.

En un principio pense en hacer labels dinamicas que van apareciendo en ese espacio conforme el usuario va tocando X boton. El problema aqui es que no hay fin en el asunto, si el usuario presiona mil veces el boton pues mil veces van a aparecer labels

Necesito un maximo posible de 10 mensajes diferentes en pantallas donde conforme el usuario vuelva a presionar el boton se borren los mas antiguos y aparezcan los nuevos. No siento que con labels sea la solucion apropiada que otra herramienta se ajusta mas a la necesidad? acepto cualquier guia gracias!! (espero se entendiera bien mi duda)

Adjunto foto de screenshot del programa como referencia, donde dice "bienvenida" es donde se supone que van a ir apareciendo los mensajes. Gracias!!!

https://prnt.sc/v1g07j


En línea

NEBIRE


Desconectado Desconectado

Mensajes: 2.312


Ver Perfil
Re: Mensajes dinamicos en form
« Respuesta #1 en: 18 Octubre 2020, 16:51 »

Tienes que usar un listbox.... Que es el contenedor apropiado para mantener varios textos juntos pero identificables separadamente.

Código:
Entero MaxItems=12

Funcion AddItem(string Accion)
    //Si accion <> listbox.Item(0)
        Si listbox.Count=MaxItems
            Listbox.Delete(Ultimo) // se borra del final
        Fin si

        Listbox.Add(Accion, 0) //se añade arriba del todo
    //Fin si

    //... Otras cosas que deban suceder en este instante... Ej. Un sonido...
fin funcion

Con cada acción invoca la función con el texto deseado...

...al margen del listbox, puedes tener un la el o un textbox, con apariencia destacada, que toma el valor recién introducido en la lista y se superpone en la posición que ocupa el primer ítem de la lista, parpadea 3 o 4 veces y luego se oculta. Si la cadencia de acciones es muy rápida, esto perjudica pues dicho parpadeo duraría más de lo que tarda en aparecer otra acción.

Finalmente una opción válida, es que si la nueva acción es la misma que la anterior, no añadirla... Tal como  dejó comentado en el pseudocódigo


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines