Entwickler-Ecke
WPF / Silverlight - Schriftgröße per Button ändern
Ritzeratze - Fr 11.12.15 18:19
Titel: Schriftgröße per Button ändern
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
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
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
Th69: Code- durch C#-Tags ersetzt
Th69 - 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 [
https://msdn.microsoft.com/de-de/library/system.windows.controls.control.fontsize%28v=vs.110%29.aspx] ist also richtig (und so wie ich das verstehe ist
px die Einheit dafür, also müßte
C#-Quelltext
1:
| eingabe.FontSize += 2.0; |
doch deinen Erwartungen entsprechen, oder?
Ritzeratze - 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
C#-Quelltext
1:
| if (eingabe.FontSize="16") |
wird nicht funktionieren.
Gruss Ritze
Moderiert von
Th69: Code- durch C#-Tags ersetzt
Th69 - Fr 11.12.15 21:00
Ich habe dir doch den Link auf die MSDN-Seite gegeben.
Da das einfach ein
double ist, also
C#-Quelltext
1: 2:
| if (eingabe.FontSize <= 32.0) eingabe.FontSize += 2.0 |
oder noch besser
C#-Quelltext
1:
| eingabe.FontSize = Math.Min(eingabe.FontSize + 2.0, 34.0); |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!