Nach einer gewissen Zeit suchen Sie nach dieser Funktion:C#: Eine Funktion, die Schriftarten automatisch zur Laufzeit an die Kontrollgröße anpasst?
Ich dachte, es wird nett sein, wenn mir jemand den besten Weg dazu geben könnte. Gibt es eine Funktion, die die Schriftgröße basierend auf der Größe eines beliebigen Fensterformats (Beschriftung/Schaltfläche) dynamisch anpassen kann?
Dies ist, was ich nach der Online-Recherche habe, leider geben diese Codes eine Menge Ausnahme während der Laufzeit, wenn die Steuerung neu sortiert.
public void textAdjustment()
{
try
{
while (this.label.Width < System.Windows.Forms.TextRenderer.MeasureText(this.label.Text,
new Font(this.label.Font.FontFamily, this.label.Font.Size, this.label.Font.Style)).Width)
{
this.label.Font = new Font(this.label.Font.FontFamily, this.label.Font.Size - 1.0f, this.label.Font.Style);
}
if (this.label.Width > System.Windows.Forms.TextRenderer.MeasureText(this.label.Text, new Font(this.label.Font.FontFamily, this.label.Font.Size, this.label.Font.Style)).Width)
{
this.label.Font = new Font(this.label.Font.FontFamily, this.label.Font.Size + 0.1f, this.tableLabel.Font.Style);
}
if (this.label.Height < System.Windows.Forms.TextRenderer.MeasureText(this.label.Text, new Font(this.label.Font.FontFamily, this.label.Font.Size, this.label.Font.Style)).Height)
{
this.label.Font = new Font(this.label.Font.FontFamily, this.label.Font.Size - 0.6f, this.label.Font.Style);
}
}
catch (Exception e)
{
this.label.Font = Control.DefaultFont;
}
}
Ich glaube nicht, habe ich meinen Weg zur Bewältigung dieses Recht ist, weiß jemand eine Möglichkeit, die Schriftgröße Basis, auch wenn Erhöhung anpassen und Steuergröße in der Laufzeit verringern? Ich persönlich denke, dass dieser Beitrag ein sehr guter Beitrag für andere sein wird.
TextRenderer gib mir immer Kopfschmerzen, diese Funktion ist meiner Meinung nach ein bisschen knifflig. –