Mam aplikację komputerową, którą wysyłam do klientów.Dla jednego klienta na wszystkich komputerach konsekwentnie wygląda to nieprawidłowo w rozdzielczości. Stworzyłem maszynę wirtualną i ustawiłem ją na ich rozdzielczość i oczywiście wszystko wygląda dobrze. Są w rozdzielczości 1280x1024. Aplikacja działa na około trzech tuzinach innych maszyn u innych klientów. Kazałem im pobrać sitodruk, oto jest: zrzut ekranu klienta, który jest zniekształcony z jego komputera ekran, jak to wygląda na komputerach deweloperskich, testowych i innych komputerach klientów
Potrzebujesz pomocy! Nie mam pojęcia, dlaczego / co jest tutaj potrzebne.
Odpowiedzi:
0 dla odpowiedzi № 1Sprawdź ustawienia DPI w systemie Windows.
System Windows 7: http://www.lawfirmsoftware.com/support/change_dpi_settings_windows_7.htm
Windows 8: http://www.eightforums.com/tutorials/28310-dpi-scaling-size-change-displays-windows-8-1-a.html
Windows 10: http://www.tenforums.com/tutorials/5990-dpi-scaling-level-displays-change-windows-10-a.html
Zobacz też to pytanie, jak zaktualizować własną aplikację: Wyłącz świadomość DPI dla aplikacji WPF
0 dla odpowiedzi nr 2
Autoscalemode jest ustawiona na FONT. Czy powinienem ustawić go na BRAK? Nie jestem pewien, co robi to ustawienie ... Jestem w VS 2015. - Computation Smomputation
Pierwszym krokiem jest zadeklarowanie aplikacji, która obsługuje DPI. Dokonano tego za pośrednictwem app.manifest plik.
Możesz uzyskać dostęp do tego pliku w VS przez:
Menu projektu-> Właściwości ProjName-> Zakładka aplikacji-> Przycisk Wyświetl ustawienia systemu Windows
Poszukaj tego bloku kodu w pliku:
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
-->
Ta sekcja jest domyślnie zakomentowana. Aby ją włączyć, usuń pierwszą linię (<!--
) i ostatni wiersz (-->
).
W ten sposób zapobiegniesz wirtualizacji DPI przez system operacyjny, którą można traktować jako skalowanie mapy bitowej wyświetlanego formularza i jego składników.
Jeśli wynikowy ekran nadal jest błędny, spróbuj ustawić Form.AutoScaleMode
albo Dpi
lub None
.
-1 dla odpowiedzi nr 3
Twój błąd jest bardzo powszechny. Musisz tylko zmienić właściwość align i wyłączyć górną.