2016-02-26 8 views
5

Ich habe ein seltsames Problem mit meiner Anwendung.Windows Forms seltsame Steuergröße in verschiedenen Computer

So funktioniert es normalerweise

Die Form I funktioniert auf jedem PC zeige ich die Anwendung mit einer Ausnahme installiert haben (ich werde das Problem später beschreiben).

Dies ist die Form bei minimal möglicher Größe.

enter image description here

Wenn ich die Größe der für die es funktioniert, wie Sie in diesem anderen Bild sehen kann.

enter image description here

Es funktioniert gut und es passt perfekt.

Was ich

Alle Bedienelemente des Formulars verankert sind in subcontrols, Platten und alles richtig und nötig verteilt getan haben richtig zu ändern. AutoScaleMode in allen Ansichten ist auf Schrift festgelegt.

Dies funktioniert gut auf jedem Windows 7, Windows 8 und Windows 10, die ich versucht habe (ich bin gerade auf Windows 10).

Ich habe DPI auf meinem eigenen Computer geändert und es ändert sich immer noch richtig.

Ich habe Bildschirmauflösung geändert und es passt richtig (obwohl ich derzeit bei 1920x1080 arbeite).

Ich habe Systemschriftgröße geändert und es funktioniert gut.

Also, wo ist das Problem?

Hier kommt das seltsame Problem. Es gibt einen Computer (Windows 7, 1920x1080, 100% DPI), bei dem die Größe der App nicht korrekt geändert wird. Zentrale Steuerelemente (Datagridview und Preview/Compare-Felder) werden mit sehr kleiner Größe angezeigt. Wenn ich dann die Größe des Formulars ändere, ändern sich diese Steuerelemente wie erwartet nach unten und rechts. Hier ist ein Bild, das das zeigt. in einem Computer

enter image description here

Kann jemand mir eine Erklärung, warum ist dies nur so zu arbeiten? (Wie gesagt, ich habe andere W7-PCs ausprobiert und es funktioniert gut).

Grüße.

+0

Das sieht aus wie Software-Umgebung Problem. Versuchen Sie, das Framework neu zu installieren, Windows-Updates zu erstellen usw. Auf welche Frameworkversion zielen Sie? Versuchen Sie, auf dem PC genau das Framework zu installieren, das Ihre Anwendung benötigt. – Sinatr

+0

Ich entwickle es auf .NET Framework 4. Warum andere Framework könnte dieses Problem verursachen? Ich meine, im Installer habe ich als .NET Framework 4 Abhängigkeit definiert und ich hatte damit nie irgendwelche Probleme. – Alex

+0

Gibt es an diesem PC eine zusätzliche Software für den Fenstermanager? Ich meine so etwas: http://softwarerecs.stackexchange.com/questions/1816/program-to-save-visible-windows-locations-and-later-restore-the-layout http://www.techsupportalert.com /content/best-free-window-manager-resizer-arranger.htm Dies kann eine Quelle von Problemen sein. –

Antwort

0

Verankerung kann in WinForms manchmal zu Überraschungen führen. Eine mögliche Lösung besteht darin, immer die Dock-Eigenschaft zu verwenden und die Elemente ähnlich wie bei WPF anzudocken/zu stapeln. Sie können alles mit unsichtbaren Panels erreichen und die Eigenschaften Dock, Padding und Margin einstellen.

Sehen Sie ein Beispiel hier: https://stackoverflow.com/a/32142897/5114784

+0

Wie gesagt, das Problem ist, dass diese Steuerelemente geladen sind weniger Größe als erwartet. Anker- und/oder Dock-Eigenschaften funktionieren gut und sind in der Form gut eingestellt. – Alex

+0

Das Raster scheint verankert zu sein, da es sich beim Ändern der Größe des Formulars erstreckt. Stattdessen sollten Sie es andocken, um solche Probleme zu vermeiden. – taffer