2012-11-14 24 views
6

Pracuję nad narzędziem dla systemu Windows, które będzie współpracować z CloudApp przy użyciu interfejsu API. Znalazłem tutaj kilka artykułów o tym, jak uzyskać przechwytywanie Regionu, które kiedyś zmodyfikowałem, aby pasowało do moich konkretnych potrzeb. Wszystko idzie dobrze, ale mam problem z konfiguracją wielu monitorów. Powodem kłopotów jest to, że uruchamiam jeden monitor w 1920 x 1080, a drugi to 1080 x 1920.Ustawianie formularza C# na negatywną

Ogólny przepływ polega na tym, że tworzę obraz całego ekranu (3000, 1920), a następnie pokazuję go jako tło w formularzu. Problem polega na tym, że nie mogę uzyskać tej formy, aby zacząć od ujemnego punktu, więc wszystko znika.

Jeśli patrzę na surowym obrazem przechwycić przed robię wybór regionu, wszystko jest dobrze:

http://img.paronity.com/KsiA

enter image description here

Problem jest kiedy idę, aby przywołać postać regionu . Aby był on tłem formularza i znajdował się we właściwym miejscu, potrzebowałbym górnego lewego lewego znaku X, Y (0, -670). Bez względu na to, którą metodę wypróbuję, nie jestem w stanie tego osiągnąć.

Czy istnieje sposób na uzyskanie negatywnego punktu, którego mi brakuje? Ze względu na bycie kompletnym, stworzyłem bardzo prostą formę, która wyprowadza swoją "górną" współrzędną, kiedy ją przesuniesz, a kiedy przesuję ją do górnej części pionowego monitora, otrzymuję za to ujemne punkty, więc wiem, że są one prawidłowe .

Daj mi znać, jeśli jakakolwiek część mojego kodu będzie pomocna, a ja ją opublikuję. Po prostu nie byłem pewien, czy to będzie konieczne. Z góry dziękuję!

+0

Windows Forms, WPF, SilverLight? –

+0

To jest Windows Forms – Paronity

+1

jeśli używam 'this.Location = new Point (-50, -50);' w formie, działa zgodnie z oczekiwaniami? – dognose

Odpowiedz

2

Przepraszamy za wpis. Można to zrobić. Problem polegał na tym, że ustawiłem rozmiar formularza w konstruktorze dla formularza. Nie wiedziałem, że to nie zadziała. Po ustawieniu go w zdarzeniu ładowania formularzy, przeniesiono je we właściwe miejsce.

Dzięki @dognose! Mówiąc, że Twój test zadziałał, pomyślałem, że to prawdopodobnie problem z zasięgiem i miejscem docelowym. Dziękuję wszystkim, którzy patrzą na to pytanie!