Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Resize label
mercoledì 11 ottobre 2006 - 13.09
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
dominatore
Profilo
| Newbie
20
messaggi | Data Invio:
mer 11 ott 2006 - 13:09
salve a tutti ho un problema:
sono sempre in lotta con la mia applicazione per SMART DEVICES con vs 2005 .net.
Ho bisogno di ridimensionare in altezza(quindi la proprietà height) delle label di cui non so però a priori la lunghezza del testo che vado a inserirci. Non posso utilizzare le proprietà autosize e wordwrap.
non so proprio come fare help!!
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 13 ott 2006 - 10:52
>sono sempre in lotta con la mia applicazione per SMART DEVICES
>con vs 2005 .net.
>Ho bisogno di ridimensionare in altezza(quindi la proprietà height)
>delle label di cui non so però a priori la lunghezza del testo
>che vado a inserirci. Non posso utilizzare le proprietà autosize
>e wordwrap.
C'è un metodo chiamato MeasureString della classe Graphics supportato anche nel .NET Framework 2.0 che serve per misurare quanto occupera in Pixel una certa stringa utilizzando un certo font, sia in altezza che in larghezza.
Questo ti permette poi di posizionare i controlli dinamicamente sulla Form.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
dominatore
Profilo
| Newbie
20
messaggi | Data Invio:
ven 13 ott 2006 - 10:56
Questo è quello che ho fatto io...il problema è che mi serve sapere il numero di righe che occuperà la stringa.Io ho fatto una cosa indegna del tipo contare una media di caratteri per stringa(il 27 per intenderci) e così funziona quasi alla grande, il problema è che volevo fare una cosa un pochino più dinamica.
text = .Text
textfont = .Font
g = Me.CreateGraphics
StringSize = g.MeasureString(text, textfont)
g.Dispose()
.Height = CInt(StringSize.Height) * CInt(.Text.Length / 27)
grazie cmq
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 13 ott 2006 - 11:01
>Questo è quello che ho fatto io...il problema è che mi serve
>sapere il numero di righe che occuperà la stringa.Io ho fatto
>una cosa indegna del tipo contare una media di caratteri per
>stringa(il 27 per intenderci) e così funziona quasi alla grande,
>il problema è che volevo fare una cosa un pochino più dinamica.
Ho visto che non puoi usare l'autosize, ma se tu lo attivassi e prendi il valore Height ? Forse viene valorizzato con l'altezza effettiva della Label ? Diversamente non so come puoi risolvere perchè c'è il ritorno a capo che ti taglia le gambe. Infatti tu hai usato 27, ma come hai già capito può variare e non sempre darà risultati precisi, in base alla stringa che sarà inserita.
ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
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 !