Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Graphics.MeasureString (String, Font, SizeF, StringFormat, Int32, Int32)

 

Data di pubblicazione: novembre 2016

Misura la stringa specificata quando viene disegnata con l'oggetto Font specificato e formattata con l'oggetto StringFormat specificato.

Spazio dei nomi:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public SizeF MeasureString(
	string text,
	Font font,
	SizeF layoutArea,
	StringFormat stringFormat,
	out int charactersFitted,
	out int linesFilled
)

Parametri

text
Type: System.String

Stringa da misurare.

font
Type: System.Drawing.Font

Oggetto Font che definisce il formato di testo della stringa.

layoutArea
Type: System.Drawing.SizeF

Struttura SizeF che specifica l'area massima di layout per il testo.

stringFormat
Type: System.Drawing.StringFormat

Oggetto StringFormat che rappresenta le informazioni di formattazione per la stringa, ad esempio l'interlinea.

charactersFitted
Type: System.Int32

Numero di caratteri della stringa.

linesFilled
Type: System.Int32

Numero di righe di testo della stringa.

Valore restituito

Type: System.Drawing.SizeF

Questo metodo restituisce una struttura SizeF che rappresenta le dimensioni, nell'unità specificata dalla proprietà PageUnit, del parametro text e disegnata con i parametri font estringFormat.

Exception Condition
ArgumentException

font è null.

Il MeasureString metodo è progettato per l'utilizzo con stringhe e include una piccola quantità di spazio aggiuntivo prima e dopo la stringa per le parti sporgenti delle icone. Inoltre, il DrawString metodo regola punti dell'icona per ottimizzare la qualità di visualizzazione e potrebbe essere visualizzato più ristretta rispetto a quanto indicato da una stringa MeasureString. Per ottenere dimensioni adeguate per le stringhe adiacenti nel layout (ad esempio, durante l'implementazione di testo formattato), utilizzare il MeasureCharacterRanges metodo o uno del MeasureString i metodi che accetta un StringFormat e passare GenericTypographic. Assicurarsi inoltre di TextRenderingHint per il Graphics è AntiAlias.

Esempio di codice seguente è progettato per l'utilizzo con Windows Form e richiede PaintEventArgse, ovvero un parametro del Paint gestore dell'evento. Nel codice vengono eseguite le seguenti azioni:

  • Crea una stringa da misurare e un oggetto tipo di carattere impostato su Arial (punto 16)

  • Imposta la dimensione massima di layout della stringa.

  • Crea un oggetto formato stringa e imposta il flag di formato DirectionVertical.

  • Crea le variabili integer charactersFitted e linesFilled e un oggetto dimensioni per misurare la stringa.

  • Misura la dimensione della stringa e determina il numero di caratteri adattati e delle righe riempite, utilizzando la stringa, l'oggetto tipo di carattere, la dimensione massima di layout e il formato della stringa.

  • Disegna un rettangolo rosso utilizzando le dimensioni misurate della stringa.

  • Disegna la stringa all'interno del rettangolo disegnato.

  • Consente di disegnare i valori del numero di caratteri adattati e delle righe riempite.

Il risultato è un rettangolo verticale che racchiude una stringa verticale.

private void MeasureStringSizeFFormatInts(PaintEventArgs e)
{

    // Set up string.
    string measureString = "Measure String";
    Font stringFont = new Font("Arial", 16);

    // Set maximum layout size.
    SizeF layoutSize = new SizeF(100.0F, 200.0F);

    // Set string format.
    StringFormat newStringFormat = new StringFormat();
    newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical;

    // Measure string.
    int charactersFitted;
    int linesFilled;
    SizeF stringSize = new SizeF();
    stringSize = e.Graphics.MeasureString(measureString, stringFont, layoutSize, newStringFormat, out charactersFitted, out linesFilled);

    // Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1), 0.0F, 0.0F, stringSize.Width, stringSize.Height);

    // Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, new PointF(0, 0), newStringFormat);

    // Draw output parameters to screen.
    string outString = "chars " + charactersFitted + ", lines " + linesFilled;
    e.Graphics.DrawString(outString, stringFont, Brushes.Black, new PointF(100, 0));
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: