Dimensionare dinamicamente un controllo in base al testo (WinForm)

Oggi mi è capitato un caso abbastanza particolare, di certo che non avevo mai dovuto affrontare prima: una textbox (in sola lettura) doveva essere ridimensionata insieme al testo che avrebbe accolto.

Dopo una veloce ricerca su Google, credevo di avere trovato una soluzione efficace; purtroppo chi ha scritto l’esempio ha omesso di indicare un paio di dichiarazioni, senza le quali il mio castello di illusioni crollava. Dopo una dose di smoccolamenti e tentativi, finalmente credo di esserne venuto a capo, e qui presento il codice:

Private Function GetSizeControl(ByVal origin As String,
                                ByVal myFont As System.Drawing.Font)
                 As System.Drawing.SizeF

    Dim graph As System.Drawing.Graphics
    graph = System.Drawing.Graphics.FromHwnd(Me.Handle)

    Return graph.MeasureString(origin, myFont)

  End Function

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*