Hallo zusammen,
ich habe hier eine Form, die bei Start den ganzen Bildschirm ausfüllt. Das habe ich so gelöst:
this.FormBorderStyle = FormBorderStyle.None;
this.Bounds = Screen.PrimaryScreen.Bounds;
Auf dieser Form befindet sich ein Label, dessen Font Size ich auf 140 gestellt habe. Es soll schön groß und mittig sein.
Dass es mittig ausgerichtet ist, habe ich folgenden Code genutzt:
lblMainLabel.Left = (this.ClientSize.Width - lblMainLabel.Size.Width) / 2;
Das funktioniert auch auf meinem großen Monitor mit hoher Auflösung wunderbar.
Wenn ich jetzt aber das Programm auf meinem Laptop starte, dann ist die angezeigte Schrift aufgrund der eingestellten FontSize aber zu groß und man kann nicht alles lesen.
Ich weiß momentan nicht, wie man es am besten so macht, dass die Schriftart sich automatisch an die Auflösung und die Bildschirmgröße anpasst. Eigentlich wäre am besten, wenn die einfach dementsprechend kleiner wäre, damit alles noch ins Label passt.
Könnt ihr mir da einen Tipp geben oder gibt es keine einfache Lösung?
Vielen Dank
Hallo und willkommen,
du kannst mithilfe der Methode Graphics.MeasureString die Größe berechnen lassen, d.h. du verkleinerst in einer Schleife solange die Fontgröße (z.B. um 5 oder um 10) bis der Text vollständig in die Form reinpaßt.
Vielen Dank.
Gibt es noch eine andere Möglichkeit oder ist das die einzige? So richtig bin ich durch diese nämlich gerade noch nicht gestiegen.
Also, ich habe es jetzt doch mit MeasureString gemacht und es funktioniert auch.
Hallo mrHJS,
Du kannst auch in den Eigenschaften des Forms einstellen :
AutoSizeMode = None
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3