none
Formulardarstellung bei Zoomfaktor RRS feed

  • Frage

  • Hallo zusammen, 

    ich habe eine Anwendung unter Vista/VS 2010 erstellt. Danach habe ich das Projekt unter Win8/VS2012 geladen, Update entwickelt und veröffentlicht. Jetzt haben ich bei einigen Anwendern das Problem, dass die Formulare nicht mehr vollständig dargestellt werden.

    Immer wenn der Anwender unter Systemsteuerung\Darstellung und Anpassung\Anzeige einen Zoom-Wert von > 150% einstellt sind zwar die Inhalte des Fenstern gezoomt, aber der Rahmen ist zu klein um alles darzustellen. Vergrößert man das Fenster mit der Maus, werden die Inhalte weiter vergrößert, wodurch die nicht sichtbaren Bereichte weiterhin unsichtbar bleiben.

    Gibt es dafür eine Lösung?

    Sonntag, 8. Februar 2015 21:07

Alle Antworten

  • Hallo,
    mit welcher Programmiersprache- und Technologie arbeitest du denn? Unter .NET haben die Fensterlklassen verschiedene Eigenschaften um das zu beheben.

    So gibt es beispielsweise unter Windows Forms die AutoSize-Eigenschaft und unter WPF die SizeToContent-Eigenschaft.
    Wichtig ist bei allen, dass du keine absoluten Größen für die Fenster angibst. Diese muss das System je nach Zoomfaktor setzen können.


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Sonntag, 8. Februar 2015 21:14
  • Danke für die schnelle Antwort.

    Ich verwende in diesem Projekt die normalen WindowsForms und VB.net. Wenn ich den Wert für AutoScaleMode von Font auf Inherit ändere, wird das Formular vollständig angezeigt. Leider verliere ich dann die Abstände zwischen den Steuerelementen und das ganze sieht dann recht hässlich aus. 

    Was wäre denn die Standard-Herangehensweise um das Problem mit den unterschiedlichen ZommStufen zu umgehen? 

    Sonntag, 8. Februar 2015 21:37
  • Hi,

    das Skalieren oder Positionieren von Steuerelementen unter WinForms bietet im Standard Dock und Anchor. Das ganze ist aber sehr begrenzt. Ich habe mir vor vielen Jahren mal eine eigene Klasse von WinForm abgeleitet welche bei der Größenänderung der Form alle anderen Controls ebenfalls rekursiv anpasst (Position und Größe). Das funktioniert auch recht gut, ist aber schon recht kompliziert und fordert auch viel Rechenleistung bei vielen Controls. Ich nutze es noch bei alten WinForm Projekten und kann gerne Beispiele zeigen, aber würde dir empfehlen diesbezüglich auf WPF zu setzen, das erleichtert dir da sehr viel (Voraussetzung WPF Kenntnisse, aber da gibt es hier auch viel Kompetenz).

    Gruß


    Jens Gerber

    Sonntag, 8. Februar 2015 22:56