Autor Beitrag
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: Sa 04.02.06 00:13 
Die Laufweite eines Strings ermittelt man mit der Methode
System.Windows.Forms.TextRenderer.MeasureText(string text, Font font).

TextRenderer.MeasureText gibt eine Instanz der Klasse System.Drawing.Size zurück, die die Maße des Strings, wie er auf dem Bildschirm ausgegeben würde, enthält. Wenn man also die Weite des Textes ermitteln will, dann muss man MeasureText(/*...*/).Width benutzen, die Höhe entsprechend mit Height.
Da die Laufweite bei so ziemlich jeder Schriftart anders ist, muss man MeasureText natürlich auch noch den Font als Parameter übergeben, mit dem die Maße berechnet werden sollen.

Hier ein kleines Besipielprogramm:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
using System;
using System.Windows.Forms;
using System.Collections.Generic;

namespace stringlänge
{
  class MainClass
  {
    public static void Main(string[] args)
    {
      Console.Title = "Stringlänge";
      System.Windows.Forms.FontDialog fontDlg = new FontDialog();
      fontDlg.ShowDialog();  /* den Font aussuchen lassen */
      Console.Write("Geben sie den zu berechnenden String ein: ");
      string s = Console.ReadLine();  /* String erhalten */
      System.Drawing.Size size = TextRenderer.MeasureText(s, fontDlg.Font);  /* Maße ermitteln */
      MessageBox.Show(String.Format("Der String\n" +
                                    "\"{0}\"\n" +
                                    "mit der Schriftart {1} misst " +
                                    "{2} Pixel in der Länge und {3} Pixel in der Höhe."
                                    new object[] {s, fontDlg.Font.Name, size.Width, size.Height}),
                      "Ergebnis", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
  }
}


Es gibt noch 4 wetere Überladungen der Methode MeasureText, für Details ins MSDN schauen ;-)
:arrow: msdn2.microsoft.com/...rer.measuretext.aspx


Moderiert von user profile iconTh69: Topic aus Neue Einträge / Hinweise / etc. verschoben am Do 16.05.2019 um 09:02