Immagini di sfondo su form in vs 2008 crea problemi

martedì 01 dicembre 2009 - 09.18

basicdany Profilo | Expert

Ciao, aggiungendo un immagine come sfondo a una form applicazione realizzare in vb 2008, sia tramite codice o direttamente nella proprieta del form (bakgroudimage), la form all'avvio si appesantisce molto, carica il form a scatti, lo sfondo che carico e di solo 1k con estensione jpg.

Qualcuno ha mai riscontrato lo stesso problema come si puo risolvere??


grazie a tutti.

luigidibiasi Profilo | Guru

Per "diminuire" (eliminarlo del tutto è complicato in .net) il problema puoi forzare gdi ad essere più performante...

http://www.bloginformatico.net/2009/03/12/diminuire-leffetto-flickering-aumentando-le-prestazioni-in-gdi/
Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/

basicdany Profilo | Expert

ciao lo tradotto il codice in vb il primo blocco di codice dove devo inserirlo mi dice: stili nel costruttore della windows form dove?

If True Then
Me.InitializeComponent()
Me.SetStyle(ControlStyles.UserPaint, True)
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
Me.SetStyle(ControlStyles.DoubleBuffer, True)
Me.SetStyle(ControlStyles.ResizeRedraw, True)
Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Me.UpdateStyles()
End If

il secondo pezzo di codice non riesco a tradurlo, e dove va inserito? puoi aiutarmi:

1: private void Form1_Paint(object sender, PaintEventArgs e)
2: {
3:
// Creo una bitmap in memoria.
4: Bitmap buffer = new Bitmap(this.Width, this.Height);
5:
6: // Utilizzo l'oggetto Graphics della bitmap
7: // e disegno tutti i miei oggetti.
8: using (Graphics graphics = Graphics.FromImage(buffer))
9: {
10: // disegno tutti i miei oggetti.
11: }
12:
13: // Pulisco la superficie della form e disegno
14: // l'immagine che ho in memoria.
15: e.Graphics.Clear(this.BackColor);
16: e.Graphics.DrawImage(buffer, 0, 0, buffer.Width, buffer.Height);
17: }

grazie tanto

basicdany Profilo | Expert

Ciao, qualcuno che ho le stesso problema puoi aiutarmi?


grazie aspetto risposta
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5