Lbel trasparenti

venerdì 22 febbraio 2008 - 13.46

Bacca Profilo | Newbie

Buon giorno a tutti.
Ho creato un'applicazione in VB.net con vari panel e form.
Come sfondo ho utilizzato un jpeg creato da un grafico. Sopra avrei voluto mettere label trasparenti ma all'apertura del form me ne si visualizza una ogni secondo.
I PC su cui verrà installata l'applicazione sono dei dual core 2 ma impiegano ugualmente molto tempo a visualizzare tutte le label anche in modalità release senza Visual Studio aperto.
Come posso fare per risolvere questo inconveniente?
Ho pensato ad applicare al background delle label una parte di sfondo ritagliata adeguatamente ma vorrebbe dire perdere un sacco di tempo a creare tutti gli sfondi e se dovrò spostare tutte le label per farne stare una in più rifare tutto il lavoro?
A qualcuno è mai capitato?

Grazie per l'attenzione

Andrea

Ferux Profilo | Newbie

Ciao,
non so se ho capito bene il problema, però io farei così:

1- Imposterei la proprietà della label Visible = False

2- Con l'evento MouseHover associato alla label gestirei il fatto che quando passi sopra con il mouse la label diviene Visibile

Spero di esserti staot d'aiuto
Saluto


Ing Ferux
[MCP MCAD]

Bacca Profilo | Newbie

Non capisco dovrei farle visualizzare solo quando sono sopra con il mouse?
Io dovrei fare esattamente l'opposta ovvero: attualmente si visualizzano una per volta ed invece le vorrei fare apparire tutte assieme.
Se metto un'immagine di sfondo con risoluzione a 1280x1024 tutti i componenti che sono nel controllo ci mettono un casino a comparire...
Il controllo su cui inserisco tutto è un user control, se mettessi un panel o un form cambierebbe qualcosa?
Non mi sembra possibile che i componenti sopra appaiano così lenti dopo avere messo uno sfondo...

the_follet Profilo | Newbie

Ciao,
ma se l'immagine di sfondo non la metti proprio le label ci mettono ugualmente tempo a visualizzarsi tutte?

Facci sapere, ciao
Luca

Bacca Profilo | Newbie

No se non metto l'immagine di sfondo è un attimo

Il problema è che per questo software è stata decisa una veste grafica con sfondi, bottoni eccetera, ma una volta inserito tutto questo diventa inutilizzabile...

In effetti credo che il problema per il 70% sia lo sfondo, in quanto ho provato a togliere le trasparenze e la situazione migliora ma non di tanto. Cosa mi potrebbe aiutare? Come si fa a caricare uno sfondo senza che appesantisca tutto?

the_follet Profilo | Newbie

Fammi capire meglio...
L'immagine .jpg la carichi da un file esistente o la crei tramite l'oggetto System.Drawing.Graphics?

Tieni presente che nel secondo caso in realtà lo spazio occupato in memoria è quello di una Bitmap, e alla risoluzione che usi, a seconda della profondità di colore (il default è 24 bpp se ricordo bene... o forse addirittura 32...), probabilmente parliamo di decine di mega...
In questa ipotesi sarebbe normale che ci mette un botto di tempo a ridisegnare lo sfondo per ogni label che carica.

Cmq per curiosità farò delle prove anche io.

Bacca Profilo | Newbie

Io ho un'immagine di sfondo 1240x1024 nella form principale, sopra vengono visualizzati degli User Control di grandezza 1000x800.
Il software è strutturato in questo modo: con dei bottoni a lato nella form principale si cambiano gli user control che appaiono al centro.
Viene istanziato sempre un user control per volta, quando si clicca su un bottone per visualizzare un'altra pagina quella caricata viene distrutta e caricata quella richiesta per non tenere troppe pagine in memoria.

Tutte le immagini vengono assegnate tramite BackgruondImage... Importato quindi in Resource.
Potrebbe essere questo che è sbagliato?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5