Flash bianco prima del caricamento [Flickering??]

di il
5 risposte

Flash bianco prima del caricamento [Flickering??]

Ciao a tutti,
ho un problema da cui non riesco a venirne a capo...
Ho un form con dei pulsanti, premendo i quali diventano visibili alcuni pannelli.
In un pannello sono presenti un bel pò di Picturebox.
Avviando il debug, il risultato che ottengo è che, una volta premuto il bottone, il pannello risulta visibile ma le picturebox inserite vengono caricate TOTAL white. Dopo un leggero delay, si caricano normalmente (da Resources).
Avete idee su come poter risolvere?
Ho provato a inserire il doublebuffered nel panel, ma non risolvo nulla...

5 Risposte

  • Re: Flash bianco prima del caricamento [Flickering??]

    Hai provato con:
    
      Panel1.SuspendLayout();
    
      // carichi le picturebox
      // .....
      
      Panel1.ResumeLayout();
    
    Come posizioni nel panel le picturebox? calcoli tutte le coordinate?

    Hai provato il FlowLayoutPanel?
  • Re: Flash bianco prima del caricamento [Flickering??]

    Sono posizionate nel panel "manualmente", quindi una volta che rendo visibile il panel, il panel compare con le immagini già inserite.
    Le immagini sono impostate come visible=true, quindi appena carica il panel, carica le immagini di conseguenza.

    Dici conviene inserirle tutte a codice?
  • Re: Flash bianco prima del caricamento [Flickering??]

    Lebron5 ha scritto:


    Sono posizionate nel panel "manualmente", quindi una volta che rendo visibile il panel, il panel compare con le immagini già inserite.
    Le immagini sono impostate come visible=true, quindi appena carica il panel, carica le immagini di conseguenza.

    Dici conviene inserirle tutte a codice?
    Dipende, la scelta è tua... se le picturebox devono restare fisse nel panel, non le devi cliccare, modificarne il contenuto ecc. ecc, va bene.

    Se crei le picturebox da codice e le aggiungi ad un FlowLayoutPanel, sempre da codice, quando l'utente ridimensiona il form, le picturebox si disporranno automaticamente.
    Con le picturebox create da codice, le puoi riempire con le immagini in imagelist, sempre da codice con un ciclo, con il vantaggio che puoi cambiarle in risposta ad un'azione dell'utente...
    Con le picturebox create da codice, puoi associare l'evento click ad ogni picturebox, ed eseguire operazioni su tutte le picturebox, usando sempre lo stesso codice.

    Il discorso è lungo dipende da cosa devi/vuoi fare.
  • Re: Flash bianco prima del caricamento [Flickering??]

    Chiarissimo. Le picturebox che ho sono "dinamiche". Al variare di alcune label, esse si modificano. Il problema del colore bianco, però, è visibile solo al caricamento del panel. Dopo, con tutti i cambiamenti dinamici, non succede nulla. Avrei bisogno solo di quel "secondo di delay" in cui vengano caricate le picturebox evitando le sagome bianche...
  • Re: Flash bianco prima del caricamento [Flickering??]

    Lebron5 ha scritto:


    Chiarissimo. Le picturebox che ho sono "dinamiche". Al variare di alcune label, esse si modificano. Il problema del colore bianco, però, è visibile solo al caricamento del panel. Dopo, con tutti i cambiamenti dinamici, non succede nulla. Avrei bisogno solo di quel "secondo di delay" in cui vengano caricate le picturebox evitando le sagome bianche...
    SuspendLayout non ha risolto?
    Se il ritardo è davvero lieve, puoi caricare le picturebox con la proprietà visible a false e le metti a true dopo il caricamento...
    Anche con il panel potresti fare la stessa cosa...
    Potresti anche fare il caricamento in asincrono, ma mi sembra esagerato.
    Guarda questo programma, genera le picturebox in runtime, le carica con le immagini contenute in una listimage e le aggiunge in un flowlayautpanel. Non ci sono flash bianchi.
    http://www.pierotofy.it/pages/sorgenti/dettagli/19635-Ean13_from_barcode/
Devi accedere o registrarti per scrivere nel forum
5 risposte