ContextMenu Schriftgröße in C # ändern

Ist es möglich, die Schriftgröße in einem ContextMenu mithilfe von .NET Framework 3.5 und C# für eine Desktopanwendung zu ändern? Es scheint, dass es eine systemweite Einstellung ist, aber ich möchte es nur innerhalb meiner Anwendung ändern.

0
hinzugefügt
Ansichten: 2
Ich benutze WinForms.
hinzugefügt der Autor dailymorn, Quelle
Verwenden Sie WinForms oder WPF?
hinzugefügt der Autor MagicKat, Quelle

4 Antworten

Sie können die Schriftgröße eines System.Windows.Forms.ContextMenuStrip ändern.

Wenn Sie die Schriftgröße des standardmäßigen Ausschneiden/Kopieren/Einfügen-Kontextmenüs in Textfeldern ändern müssen, müssen Sie die ContextMenu-Eigenschaft auf ein benutzerdefiniertes Menü festlegen, das das Standardmenü ersetzt.

0
hinzugefügt

Sie erwähnen .NET 3.5 - schreiben Sie in WPF? Wenn dies der Fall ist, können Sie die Schriftgröße für die angefügte TextBlock.FontSize-Eigenschaft festlegen


   <!-- Will get the font size from parent -->

Oder Sie können es in einem Stil angeben, der alle Menüelemente betrifft


Natürlich ist es immer besser, wenn die Systemeinstellung die Schriftgröße festlegt. Einige Leute haben es möglicherweise geändert, um ihre körperliche Verfassung (wie schlechte Sehkraft) oder Hardware (großer/kleiner Bildschirm) besser zu passen. Was auch immer Sie in Ihrem Code erzwingen, wird für einige Leute die falsche Wahl sein, während Sie ihnen keine Möglichkeit geben, es zu ändern.

0
hinzugefügt

In WPF:


    <!-- ... -->

In WinForms:

contextMenuStrip1.Font = new System.Drawing.Font("Segoe UI", 24F);
0
hinzugefügt
Er spricht von Kontextmenu, nicht Strip
hinzugefügt der Autor nawfal, Quelle

Wenn Sie in Windows Forms ein eigenes Kontextmenü über einen ContextMenuStrip definieren, verwenden Sie die Eigenschaft Font .

Wenn Sie in wpf ein eigenes Kontextmenü über einen ContextMenu definieren, verwenden Sie die verschiedenen Fontxxx -Eigenschaften, z. B. FontFamily und FontSize .

Sie können die Standardkontextmenüs, die mit Steuerelementen geliefert werden, nicht ändern. Diese werden durch Systemeinstellungen bestimmt. Also, wenn Sie die "Kopieren/Ausschneiden/Einfügen/etc." Menü mit einer benutzerdefinierten Schriftgröße für einen WinForms TextBox , müssen Sie einen ContextMenuStrip mit der entsprechenden Schriftgröße erstellen und ihn dem TextBox 's ContextMenuStrip Eigenschaft.

0
hinzugefügt