2016-07-26 5 views
0

Ich habe eine Desktop-App, die ich an Kunden senden. Für einen Client auf allen Rechnern sieht es in ihrer Auflösung durchweg falsch aus. Ich habe eine virtuelle Maschine erstellt und sie auf ihre Auflösung eingestellt, und natürlich sieht alles gut aus. Sie sind in 1280x1024. Die App läuft auf etwa drei Dutzend anderen Maschinen bei anderen Kunden einwandfrei. Ich hatte sie einen Bildschirmausdruck greifen, hier ist sie: customer screen shot that is malformed from their computer screen how it looks on dev, test, and other customers computersVB.NET Windows APP Formulare Aussehen ändern (Unerwünscht)

Hilfe nötig! Ich habe keine Ahnung warum/was hier gebraucht wird.

+0

Welche Windows verwenden sie? – Dima

+0

Hallo Dima, alles ist Windows 10 –

+0

Bitte sehen Sie meine Antwort – Dima

Antwort

0
+0

gibt es einen Weg um dies auf Windows 10, die keine Konfigurationen auf dem Client-PC beteiligt? –

+0

Ja, siehe letzten Link in meiner Antwort - Sie können Ihre App aktualisieren. – Dima

+0

Danke! Ich habe diese Antwort gelesen und denke, dass ich sage, dass ich die DPI-Virtualisierung ausschalten muss. Ich sehe nicht, wo es erklärt, wie man das wirklich macht ... –

-1

Ihr Fehler ist sehr verbreitet. Sie müssen nur die Eigenschaft align ändern und die oberste Eigenschaft deaktivieren.

+0

Hallo Leaf, danke für die Hilfe, könntest du mir etwas mehr Anleitung geben, die Align-Eigenschaft von was ändern und die Top deaktivieren? Entschuldigung, die Grafikseite des Hauses ist nicht meine Spezialität. –

0

Autoscalemode ist auf FONT eingestellt. Sollte ich es auf NONE setzen? Nicht wirklich sicher, was diese Einstellung tut ... Ich bin in VS 2015 - Berechnung Smomputation

Als erster Schritt empfehle ich, dass Sie Ihre Anwendung zu erklären sein DPI bewusst. Dies geschieht über die Datei app.manifest.

Sie diese Datei über in VS zugreifen können:

Projekt Menü-> ProjName Properties-> Anwendungs ​​Tab-> Ansicht Windows-Einstellungen Knopf

Geben Sie für diesen Block von Code in der Datei:

<!-- 
    <application xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <windowsSettings> 
     <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> 
    </windowsSettings> 
    </application> 
    --> 

Dieser Bereich ist standardmäßig auskommentiert. Um es zu aktivieren, löschen Sie die erste Zeile (<!--) und die letzte Zeile (-->).

Dadurch wird die DPI-Virtualisierung durch das Betriebssystem verhindert, die als Form-Bitmap-Skalierung des angezeigten Formulars und seiner Komponenten angesehen werden kann.

Wenn die resultierende Anzeige immer noch fehlerhaft ist, versuchen Sie Form.AutoScaleMode auf oder None einzustellen.

+0

Sehr cool danke und sehr klare Anweisungen !! Ich werde diese Änderung vornehmen und an meinen Kunden senden und sehen, ob es funktioniert. Wenn ich die DPI auf der Testmaschine ändere, habe ich dieses Problem immer noch nicht, daher kann ich nicht lokal testen, aber man weiß es nie. Finger gekreuzt .. –

+0

@ComputationSmomputation, wenn Sie sagen, "Wenn ich die DPI auf der Testmaschine ändern", ändern Sie es vor dem Kompilieren/Ausführen des Codes? Im Idealfall kompilieren Sie unter einer DPI-Einstellung und testen Sie unter einer anderen. – TnTinMn

Verwandte Themen