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

evitar el barrido cuando se crea botones dinamicos

Estas en el tema de evitar el barrido cuando se crea botones dinamicos en el foro de .NET en Foros del Web. Buenas foreros mi conuslta es la siguiente estoy creando controles dinamicamente entre botones y labels pero lo que pasa es que como se crea dinamicamente ...
  #1 (permalink)  
Antiguo 05/06/2007, 09:55
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
De acuerdo evitar el barrido cuando se crea botones dinamicos

Buenas foreros mi conuslta es la siguiente estoy creando controles dinamicamente entre botones y labels pero lo que pasa es que como se crea dinamicamente cuando se levanta el formulario aparece un barrido , se nota un poco feo es que eso hace porque depende de cuanto controles hayga a mas controles mas demora en mostar todo el formulario completo mi idea era poner un progress bar y q se mantenga hasta que el formulario termine de cargarse completamente pero solo es una idea pero nose como implementarlo es aglo asi:

for (int i = 0; i < totales; i++)
{
//aca creo los controles
}

espero me puedan ayudar o alguna otra cosita que pueda ayudarme a solucionarlo
  #2 (permalink)  
Antiguo 11/06/2007, 14:21
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
Re: evitar el barrido cuando se crea botones dinamicos

nose si me entienda pero cuando creo los botones dianamicamente en el evento load del formualrio.. se crean de a pocos y se van pintando en tiempo de ejcucion pero ese pintado se nota cuando se esta ejecutando el programa yo quisera que el formulario recien aparezca cuando los botones esten creados ya y evitar que el usuario vea ese pintado me parece muy malo si tiene dudad en lo escribo digamenlo nomas gracias.
  #3 (permalink)  
Antiguo 11/06/2007, 16:29
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
Re: evitar el barrido cuando se crea botones dinamicos

en mi control panel es donde agrego estos botones he estado leyendo algo y me dijeron q aplique algo como esto:
http://www.thescripts.com/forum/thread268131.html

lo he implemetado pero igual el parpadeo persiste si alguien tiene mas conocimiento de este tema espero me la pueda hacer llegar
  #4 (permalink)  
Antiguo 18/06/2007, 08:55
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
Re: evitar el barrido cuando se crea botones dinamicos

disculpen la insistencia.... pero creo que alguno abra hecho controles dinamicos y quisera que lo comparta como la ha hecho ya que si ha tenido el mismo problema que tengo lo habra solucionado de algun modo muchas gracias....
  #5 (permalink)  
Antiguo 19/06/2007, 04:18
 
Fecha de Ingreso: junio-2007
Ubicación: El mundo
Mensajes: 22
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: evitar el barrido cuando se crea botones dinamicos

Porque no haces un load del formulario y pasado unos segundos un show del mismo ?

Es un poco chapu, pero a mi no se me ocurre nada ahora !

Salu2.
  #6 (permalink)  
Antiguo 19/07/2007, 04:08
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Re: evitar el barrido cuando se crea botones dinamicos

Hola loquillo7, lo has solucionado??Tengo el mismo problema.

Un saludo.
  #7 (permalink)  
Antiguo 19/07/2007, 09:20
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: evitar el barrido cuando se crea botones dinamicos

Lo único que tienes que hacer para evitar el parpadeo es llamar a los métodos SuspendLayout y ResumeLayout en el contenedor de esos controles, ejm:
Código:
panel1.SuspendLayout()
for(int i=0;i<100;i++)
{
    Button b=new Button();
    b.Text = i.ToString();
    panel1.Controls.Add(b);
}
panel1.ResumeLayout();
Nota: El código no está probado.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #8 (permalink)  
Antiguo 19/07/2007, 09:42
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Re: evitar el barrido cuando se crea botones dinamicos

Funciona OK, para el .add, es decir, para añadir, pero a la hora de borrar unos elemenos (para agregar otros) . el borrado (he probado tanto 1 a 1 como un controls.clear sigue haciendo el dichoso parpadeo.


He pensado utilizar 2 paneles distintos pero identicos e ir alternando el mostrar uno u otro, así a la hora de cargar unos, mediante un subproceso, eliminar los elementos del otro en estado no visible.

¿Hay alguna manera mejor?

Muchas gracias como siempre xknown.
  #9 (permalink)  
Antiguo 19/07/2007, 10:51
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: evitar el barrido cuando se crea botones dinamicos

Hmm, no sé exactamente como estás probando ¿tienes algún ejemplo para reproducir el problema que comentas?.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #10 (permalink)  
Antiguo 19/07/2007, 11:15
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Re: evitar el barrido cuando se crea botones dinamicos

si, por ejemplo:

Código:
 P_Ubications.SuspendLayout()
 P_Ubications.controls.Clear()
        While i < (current_Page * 12) And i < show_categories.Count
            Dim position As Point = CreatePositionSub(i)
            show_categories(i).Image.Location = position 
            Me.P_Ubications.Add(show_categories(i).Image)
            i += 1
        End While
        P_Ubications.ResumeLayout()
  #11 (permalink)  
Antiguo 19/07/2007, 11:17
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Re: evitar el barrido cuando se crea botones dinamicos

Y lo he "resuelto", porque aun así, hay algunos casos que tengo que utilizar el mismo panel, haciendo, que cuando un panel se oculta, lance un hilo que borre sus controles,

pero como digo es "media" solución, porque no me sirve para algunos casos.
  #12 (permalink)  
Antiguo 20/01/2008, 00:02
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
Re: evitar el barrido cuando se crea botones dinamicos

jose_minglein podrias enviarme tu ejemplo de creacion de botones dinamcios lo que pasa es que mediante un for quiero crear un panel con sus botonees que tienen sin ncesidad de estar cenado todos los controles sino crear el panel y este ya cree los botones interiores q tiene muchas gracias
  #13 (permalink)  
Antiguo 21/01/2008, 02:27
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Re: evitar el barrido cuando se crea botones dinamicos

Tal como dices, dentro de un for y para cada elemento que quieras crear (ya sea boton, textbox ...), tal como asi:
Código:
while (i<count)

dim mybutton as New System.Windows.Forms.Button
       
        mybutton .Name = "Cat_Label_" & i.tostring
        mybutton .Size = New Size(150, 57)
       mybutton.location = new point(10, i+100)
panel1.controls.add(mybutton)
i+=1
endwhile
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 13:22.