Domanda

Sono un campo in un database, questo campo ha una lunghezza massima, e voglio impostare una casella di testo alla larghezza appropriata. Sto creando le caselle di testo in fase di esecuzione. Come posso calcolare il valore della proprietà width?

Per esempio, se ho un nvarchar campo (5) denominato IDClient, e il font-size è 13, voglio creare un texbox con una larghezza sufficiente per scrivere 5 caratteri.

È stato utile?

Soluzione

Forse dovrebbe usare TextRenderer.MeasureText (stringa, font) .

Ecco un piccolo campione che dovrebbe potrebbe aiutare a

        //Get this value from somewhere...
        TextBox textBox = new TextBox();
        int maxWidth = 10;
        int extraSpace = 3;

        //Create sample string
        StringBuilder sb = new StringBuilder(maxWidth);
        sb.Append('w', maxWidth);

        //Measure text 
        Size size = TextRenderer.MeasureText(sb.ToString(), textBox.Font);

        //Set width of TextBox to needed width
        textBox.Width = size.Width + extraSpace;

Altri suggerimenti

Specifica

input type = 'text' size = '5' width = 'w' ........>

È possibile calcolare w = NUM_CHARACTERS * k. Dove k è costante. Prima mantenere k = 15. E poi fare colpito e il processo fino a quando u trovare la soluzione migliore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top