2012-11-14 8 views
6

Ich arbeite an einem Tool für Windows, das über die API mit CloudApp verbunden wird. Ich habe hier einige Artikel darüber gefunden, wie ich die Region-Erfassung erreichen kann, die ich geändert habe, um sie genau meinen Bedürfnissen anzupassen. Alles läuft sehr gut, aber ich habe Probleme mit einem Multi-Monitor-Setup. Der Grund für das Problem ist, dass ich einen Monitor in 1920x1080 und der zweite ist 1080x1920.Setzen eines C# -Formulars auf eine negative Position

Der allgemeine Fluss ist, dass ich ein Bild des gesamten Bildschirms erstellen (3000, 1920), dann zeige ich es als Hintergrund in einem Formular. Das Problem ist, dass ich dieses Formular nicht bekommen kann, um bei einem negativen Punkt zu beginnen, so dass es alles runterzieht.

Wenn ich auf dem Rohbild sehe ich erfassen, bevor ich die Region Auswahl zu tun, ist alles gut:

http://img.paronity.com/KsiA

enter image description here

Das Problem ist, wenn ich die Region Form zu bringen gehen . Damit es der Hintergrund der Form ist und an der richtigen Stelle ist, würde ich die obere linke X, Y des Formulars benötigen, um (0, -670) zu sein. Egal welche Methode ich versuche, ich kann das nicht erreichen.

Gibt es eine Möglichkeit, den negativen Punkt, den ich vermisse, zu erreichen? Aus Gründen der Vollständigkeit habe ich eine sehr einfache Form erstellt, die ihre "obere" Koordinate ausgibt, wenn Sie sie bewegen, und wenn ich sie zum oberen Teil des vertikalen Monitors bewege, bekomme ich negative Punkte dafür, so dass ich weiß, dass sie gültig sind .

Lassen Sie mich wissen, wenn irgendein Teil meines Codes hilfreich wäre und ich werde es posten. Ich war mir nur nicht sicher, ob das nötig sein würde. Danke im Voraus!

+0

Windows Forms, WPF, SilverLight? –

+0

Es ist Windows Forms – Paronity

+1

, wenn ich 'this.Location = new Point (-50, -50) verwenden;' in einem Formular funktioniert es wie erwartet? – dognose

Antwort

2

Entschuldigung für die Post. Es ist möglich zu tun. Das Problem war, dass ich die Größe des Formulars im Konstruktor für das Formular festlegte. Ich wusste nicht, dass das nicht funktionieren würde. Sobald ich es auf das Formularladeereignis gesetzt habe, wurde es an die richtige Stelle verschoben.

Dank @dognose! Du sagst, dass dein Test funktioniert hat, dass ich denke, dass das wahrscheinlich ein Bereichs-/Platzierungsproblem war und es war! Danke an alle, die sich diese Frage angesehen haben!

Verwandte Themen