Unscharfe Darstellung von C# WinForm-Anwendungen unter Windows 10

(Update vom 10.02.2020) Wenn Sie mit Windows 10 arbeiten, dann hat Sie sicher auch schon bei „alten“ Programmen eine unscharfe Darstellung von Schriften oder Buttons beschäftigt? Speziell wenn man selbst WinForm-Anwendungen mit C# an „großen“ Bildschirmen entwickelt, stößt man auf dieses Skalierung-Problem. Zu diesem Thema kann man vieles im Internet lesen. Deshalb nenne ich hier nur zwei wesentliche Punkte:

  1. Wenn Sie das WinForm-Programm über MS Visual Studio entwickelt haben, so wird bei der Kompilierung automatisch eine Datei .exe.config im Ausgabe-Ordner der .exe erstellt. In dieser XML-Datei kann man unter dem Tag „configuration“ folgende Einstellungen für die Skalierung der Anwendung eintragen:

    <System.Windows.Forms.ApplicationConfigurationSection>
      <add key="DpiAwareness" value="PerMonitorV2" />
    </System.Windows.Forms.ApplicationConfigurationSection>
    
  2. Grundsätzlich kann man für jedes Programm (.exe) die „Umgebungs-Parameter“ der DPI-Einstellungen unter Kompatibilität einstellen. Gehen Sie dazu über den Windows-Explorer zu dem Ordner der Installation (meist unter C:\Program Files (x86)) und öffnen Sie über das Popupmenü die Eigenschaften der EXE-Datei. Dort ändern Sie über den Button „Einstellungen für alle Benutzer“ und dann den Button „Hohe DPI-Einstellungen ändern“ die Einstellungen.

    Dort sollte man folgende Einstellungen testen:

    • Grundsätzlich: „System (Erweitert)“
    • Wenn die zuvor genannte Einstellung nicht hilft, dann „Vollbildoptimierungen deaktivieren“ auswählen.
    • Oder „Anwendung“ bei den oben vorgenommenen Einstellungen in .exe.config.

Nachtrag 23.01.2020

Das Problem hat sich leider seit dem Windows-Update vom November 2019 verschärft. An meinem „hochauflösenden“ Monitor (max. Auflösung 3840 x 2160) musste ich die Auflösung auf 2048 x 1152 minimieren und die Skalierung für die Größe von Text auf 100% einstellen, um mit Visual Studio arbeiten zu können?! Diese Erfahrung macht man leider mit einer Vielzahl an Programmen, weshalb es die Empfehlung gibt, wenn möglich (oder meistens nötig) die Skalierung für die Größe von Text auf 100% zu verwenden, siehe dazu den Artikel bei heise.de. So etwas kann ich nicht als Weiterentwicklung sehen!

Verbesserung für WPF-Programme

Da die Darstellung der WPF-Programm in .NET verbessert wurde, sollte man für die Text- und Grafik-Ausgabe in der MainWindow.xaml die folgenden Attribute eintragen:

    <Window Title="MainWindow" TextOptions.TextFormattingMode="Display" UseLayoutRounding="True" />

Details zum Hintergrund für die XAML-Attribute kann man der ausführlichen Antwort zu dem Thema bei stackoverflow.com zu Should I use use UseLayoutRounding entnehmen. Damit sollte die Text-Ausgabe auch ohne die oben genannten Einstellungen relativ gut sein.

Nachtrag 10.02.2020

Heute hatte ich wieder ein Problem in diesem Zusammenhang. Als ich ein MS Access Projekt weiter entwickelen wollte, waren alle Schriften im Visual Basic Editor extrem klein. Da alle Einstellungen auf den „neuen“ Standard (siehe Nachtag vom 23.01.2020) eingestellt waren, stellte sich die Frage wie dies verbessert werden kann.

Seit Windows 10 1803 können die Textgrößen auch wieder über „Einstellungen > Erleichterte Bedienung“ eingestellt werden. Als ich hier die Schriftgröße auf 110% eingestellt hatte, konnte mit dem Visual Basic Editor wieder gearbeitet werden.

Weblinks

  1. Suche: Unscharfe Darstellung C# WinForm-Anwendungen unter Windows 10
  2. Beitrag zum Thema bei stackoverflow/li>
  3. Windows 10: Schrift unscharf – was tun? bei heise.de
  4. Artikel zu dem Thema bei pcwelt.de

Weblinks zum Nachtrag

  1. Suche: ms access windows 10 november update schriften sehr klein
  2. Nur die Textgrösse ändern nicht mehr vorhanden Windows 10
  3. Windows 10 1703 Textgröße ändern bzw. fette Schriften

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert