Area di testo che si allunga dinamicamente in base al testo

martedì 11 settembre 2007 - 10.20

forumQuarz Profilo | Junior Member

FRAMEWORK 2.0
C#

Salve a tutti e buona giornata....

il quesito et lo sequentum...

area di testo che si allunga dinamicamente in base al testo???

se qualcuno conoscesse anche solo dei link da dove prendere spunto gliene sarei grato lo stesso....

StefanoLep Profilo | Senior Member

Ciao, puoi provare con qualcosa del genere:

[code]
//100 è la dimensione iniziale della text
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Width = 100 + 5*(textBox1.TextLength);
}

[\code]

Solo chi fa sbaglia :-)

alextyx Profilo | Expert

Non lavoro in C#, ma in VB.net, quindi non saprei dire esattamente che codice usare. Tuttavia esistono dei metodi che restituiscono la lunghezza di una stringa, ipotizzandola con un certo font. Questo consente di ottenere la lunghezza della scritta anche con font a spaziatura non fissa, come del resto sono la maggior parte dei font utilizzati.

Faelar Profilo | Junior Member

L'unica proprietà che conosco per fare qualcosa di simile è Font.SizeInPoints, però quando ho provato ad utilizzarla il risul tato non è stato dei migliori...



Quello che ti posso consigliare io (che poi è quello che ho fatto) è palesemente una porcata: crea una label con visible a false ed autosize, poi nell'evento text_change della tua textBox copi il codice nella label ed assegni alla textbox la larghezza della label.



Stilisticamente fa schifo, però funziona...

munissor Profilo | Senior Member

Che io sappia si può provare con..

creare un graphics sul controllo...
Misurare le dimensioni della stringa con graphics.MeasureString
aumentare le dimensioni di un certo valore (spazio per l'area non client, le barre di scorrimento ecc...
ridimensionare il controllo...
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