Autor Beitrag
Ritzeratze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101



BeitragVerfasst: Fr 11.12.15 18:19 
Hallo,

ich möchten den Text aus einer Textbox von Schriftgröße 20px bis 30 px in 2 Schritten erhöhen

Ich hatte das in einer Methode so gemacht
ausblenden C#-Quelltext
1:
2:
3:
4:
private void Buttonminus_Click(object sender, RoutedEventArgs e)
{
    eingabe.FontSize -= 1.1;
}

Funktioniert auch, aber das ist aj eine Prozentuale Erhöhung. Wie könnte ich denn die Schriftart immer nur 2 Einheiten erhöhen. ?

Mit einen Konstruktor wie z.B
ausblenden C#-Quelltext
1:
RichTextBox1.Font = new Font(RichTextBox1.Font.Name, 18, RichTextBox1.Font.Style, RichTextBox1.Font.Unit)					

gebe ich zwar die Schriftgröße an, aber wie bekomme ich die Schriftart beim ButtonClick denn größer? Muss ich jedesmal einen neuen Konstruktor haben?

Gruss
Ritze

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 11.12.15 19:52 
Ja, ein Font (aus dem System.Drawing-Namensbereich) ist ein unveränderliches (immutable) Objekt, d.h. du mußt immer ein neues Objekt erzeugen (ähnlich wie bei der String-Klasse).

Aber bei WPF gibt es ja nur die einzelnen Font...-Eigenschaften, d.h. das direkte Ändern von FontSize ist also richtig (und so wie ich das verstehe ist px die Einheit dafür, also müßte
ausblenden C#-Quelltext
1:
eingabe.FontSize += 2.0;					

doch deinen Erwartungen entsprechen, oder?
Ritzeratze Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101



BeitragVerfasst: Fr 11.12.15 20:41 
Hi, ja in der Tat das funktioniert. Aber ich kann nicht prüfen, welche Schriftgröße nun wirklich vorliegt. Sie darf nicht kleiner als 14px und nicht größer als 34px werden.
Wie kann ich denn in der Methode die die aktuelle Schriftgröße prüfen. Ein
ausblenden C#-Quelltext
1:
if (eingabe.FontSize="16")					

wird nicht funktionieren.
Gruss Ritze

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 11.12.15 21:00 
Ich habe dir doch den Link auf die MSDN-Seite gegeben.
Da das einfach ein double ist, also
ausblenden C#-Quelltext
1:
2:
if (eingabe.FontSize <= 32.0)
    eingabe.FontSize += 2.0

oder noch besser
ausblenden C#-Quelltext
1:
eingabe.FontSize = Math.Min(eingabe.FontSize + 2.034.0);