C# WinForms werden auf einigen PC's nicht richtig dargestellt

Zhen

Lt. Junior Grade
Registriert
Aug. 2009
Beiträge
299
Hallo Leute,
ich hätte da mal ne Frage.

Hab mir ein Programm geschrieben in C# und WinForms. Jetzt hab
ich aber das Problem, dass die Buttons beim Formular auf einigen Rechnern
versetzt dargestellt werden. In VS sieht es richtig aus, und auch wenn ich
es auf dem Rechner ausführe auf dem ichs programmiert hab, wird es richtig
dargestellt.

Aber jetzt hab ich das Programm bereits auf 3 weiteren Rechnern ausprobiert
und jedes mal wird ein bestimmter Button versetzt. Beim 3. Rechner (mit Win7)
wird er etwas nach oben verschoben (die anderen waren XP und da wurds
nach unten verschoben) und bei Win7 ist wird jetzt sogar noch ein 2.
Button paar Pixel nach links versetzt.

Ich habe aber keine Ahnung woran das liegen könnte. VS spuckt ja alles
richtig aus. Der Entwicklerrechner auch. Maße- und Größenangaben stimmen
alle überein. Genau wie eingestellt und trotzdem kommt der verdammte
Fehler...

Jemand eine Idee? Hoffe ihr könnt mir da weiterhelfen.
Ergänzung ()

Also das manuelle Angeben der Location im Designer nützt auch nichts. Buttons werden trotzdem versetzt...
 
Hast du auf allen Rechnern das gleiche .NET Framework drauf? .NET 4.0?
 
Unterschiedliche DPI's auf den Rechnern eingestellt?
 
Also was das Framework angeht ist überall "Microsoft .NET Framework 4 Client Profil" drauf. Für die "Client Profil" Version wurde mein Programm auch kompiliert.

DPI guck ich jetzt mal nach...
Ergänzung ()

DPI stimmen auch überein genauso wie die Hertz von den Monitoren und der andere Rest was mit Anzeige zu tun hat :(
Ergänzung ()

Im Quellcode von der Designer.cs Datei stimmen die Größen und Locations auch (genau wie ich sie eingerichtet habe) und in meinem Quellcode wird werden die Buttons nicht angerührt.

Was ich halt eben komisch finde ist, dass es nur diese 2 Buttons sind von den ganzen anderen. Auch in einem anderen Tool das ich geschrieben habe hat sich nichts gefehlt... echt komisches Phänomen... -_-"
Ergänzung ()

Hat den keiner einen Tipp? Ist bei euch sowas noch nie vorgekommen? :(
 
Ist das Windows-Design auf allen Rechnern gleich? Man kann z.B. die Schrift und -Größe für Fenster anpassen und solche Änderungen können dein Programm auch betreffen.

Kannst mal zwei Screenshots machen, einen wo das Layout richtig ist, und einen wo es verschoben ist? benutzt du feste oder relative Positionen für die Elemente?
 
Naja eigentlich feste Positionen das ist es ja :(
Das Design... hmm... naja standard halt ^^

Das witzige ist das, dass ich das Projekt jetzt mal in VS auf einem Rechner geöffnet habe wo es falsch angezeigt wird und siehe da... tatsächlich stimmte die Location nicht mit der von mir angegebenen überein. Habs geändert und dann die exe auf dem Rechner ausgeführt auf dem es eigentlich programmiert wurde, auf dem wo es richtig angezeigt wurde. Und ta da... wurde es hier falsch angezeigt :D

Da versteh ich echt die Welt nicht mehr.
 
Servus,

auf der Suche nach einer Lösung für dieses Problem hab ich durch zufall ein paar Zeilen von Win generierten Code entdeckt, welcher das Layout zumindest halbwegs wieder zurechtrücken - zumindest ist es bei meiner Anwendung der Fall.

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; // Diese Zeile auskommentieren !!!

Ist vermutlich in etwa das ist das, was Darlis einen Beitrag oben drüber gemeint hat.

Ich weis das der Beitrag schon vor Jahren geschrieben wurde, doch da ich in der Suchmaschine auf Anhieb keine weiter Lösung gefunden habe und dieser Beitrag hier aber sehr weit vorne gelistet wird, schadet der Post wohl sicherlich nicht =)


MfG
Andreas
 
Zurück
Oben