Schriftgröße abhänig von Fenstergröße

Hallo Leute!

Ich habe ein Form mit einem Label drin, dass sich folgendermaßen verhalten soll:

  1. Schriftgröße bestimmt Fenstergröße: -FUNKTIONIERT-

Wenn ich die Schriftgröße ändere, wird das Form genau so groß, damit man nur die Schrift im Label sieht, keine Ränder etc.

Me.AutoSize = True
Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
Me.SizeGripStyle = Windows.Forms.SizeGripStyle.Hide
  1. Fenstergröße bestimmt Schriftgröße: -GEHT NICHT-

Wenn man das Fenster größer zieht, soll die Schrift sich vergrößern und das Fenster wieder voll ausfüllen.

Hat jemand von euch eine Idee, wie ich das machen könnte?

Habe schon versucht ein Verhältnis von Schriftgröße, Fensterhöhe und Fensterbreite rauszukriegen, aber das ist alles sehr unregelmäßig.

Dann kam mir noch die „SizeConverter“-Klasse in den Sinn, aber ich weiß nicht so recht wie das funktioniert…

Also, nochmal die Frage an euch: Gibt es eine Formel, um aus Fensterhöhe und Fensterbreite eine Schriftgröße zu errechnen?

Oder gibt es da eine Eigentschaft des Labels/Forms?

Grüße Alex

Hat denn niemand eine Idee? :frowning:

Ok, habe jetzt eine Lösung gefunden:

Habe in das Form ein Panel gemacht, und in das Panel ein Label, Panel und Label auf Autosize:

Dim NewFontSize As Integer = Me.Panel1.Height

 Dim FName As String = Me.Label1.Font.Name
 Dim FBold As String = Me.Label1.Font.Bold
 Dim FItal As String = Me.Label1.Font.Italic


 Dim FontStyle As New System.Drawing.FontStyle()

 If FBold = "True" And FItal = "True" Then
 FontStyle = 1 Or 2
 ElseIf FBold = "True" And FItal = "False" Then
 FontStyle = 1
 ElseIf FBold = "False" And FItal = "True" Then
 FontStyle = 2
 Else
 FontStyle = FontStyle.Regular
 End If

 Dim NewFont As New Font(FName, NewFontSize, FontStyle, GraphicsUnit.Pixel)

 Me.Label1.Font = NewFont

 Me.Size = New Size(Me.Label1.Width, Me.Height)