Location i Height

0

Witam, głupi problem, ale chciałem rozciągnąć okno na całej wysokości obszaru roboczego i przesunąć je do prawej.
robię to tak jak pokazane w kodzie poniżej i prawie osiągnąłem to co chciałem, jednak to prawie mnie trochę denerwuje. Różnica między tym co oczekuje a rzeczywistością to około 5 pikseli z każdej strony. Chciałbym po prostu, żeby górna, prawa i dolna krawędź były idealnie na krawędzi monitora/paska menu start. W tym momencie krawędź monitora/menu start jest mniej więcej w połowie krawędzi okna

            System.Drawing.Rectangle workingRectangle = Screen.PrimaryScreen.WorkingArea;
            this.Height = workingRectangle.Height;
            this.Location = new System.Drawing.Point(workingRectangle.Width - Width, workingRectangle.Top);

EDIT: nie wiem na ile to ważne, ale FormBorderStyle = FixedToolWindow

0

Dziwne u mnie jest idealnie, zrób ss zobaczymy jak u ciebie jest.

0

okno.png

nie wiem czy to pomocne, ale nie jest to główne okno. Głównym oknem jest nowy projekt XNA 4.0, a tamte zepsute tworzone jest przy tworzeniu tamtego okna XNA.

1

w Width - ClientSize.Width będziesz miał szerokość ramki - teraz odejmij jej połowę i będzie idealnie
poza tym - nie chcesz widzieć ramki to czemu nie ustawisz typu obramowania okna na None?

0

tak wyświetla idealnie, ale jest to uzależnione od wartości, która bierze się z d**y, że się tak wyrażę

            int borderWidth2 = Width - this.ClientSize.Width;
            System.Windows.Forms.MessageBox.Show(borderWidth2.ToString()); // Wyswietla: 6
            System.Drawing.Rectangle workingRectangle = Screen.PrimaryScreen.WorkingArea;
            this.Height = workingRectangle.Height-8;
            this.Location = new System.Drawing.Point(workingRectangle.Right - Width-4, workingRectangle.Top+4);

chyba, że dla nich idealnie to jest bez tego czarnego co jest naokoło okna (tak jak po zmaksymalizowaniu)... to by nawet wyjaśniało różnice 1 piksela

1 użytkowników online, w tym zalogowanych: 0, gości: 1