Как получить позицию Windows Form на экране?

Я кодирую приложение WinForms в Visual Studio С# 2010, и я хочу узнать расположение верхнего левого угла окна WinForm (начальное расположение окна).

Как я могу это сделать?

Ответ 1

Если вы обращаетесь к нему из самой формы, вы можете написать

int windowHeight = this.Height;
int windowWidth = this.Width;

чтобы получить ширину и высоту окна. И

int windowTop = this.Top; 
int windowLeft = this.Left;

Чтобы получить положение экрана.

В противном случае, если вы запустите форму и получите доступ к ней из другой формы

int w, h, t, l;
using (Form form = new Form())
{
    form.Show();
    w = form.Width;
    h = form.Height;
    t = form.Top;
    l = form.Left;
}

Надеюсь, это поможет.

Ответ 2

Form.Location.X и Form.Location.Y предоставят вам координаты X и Y в верхнем левом углу.

Ответ 3

Используйте Form.Bounds.Top, чтобы получить координату "Y" и Form.Bounds.Left, чтобы получить координату "X"

Ответ 4

У меня был аналогичный случай, когда для моего Form2 мне понадобилось расположение экрана Form1. я Решил его, передав расположение экрана формы1 в form2 через его конструктор:

//Form1

 Point Form1Location;
        Form1Location = this.Location;
        Form2 myform2 = new Form2(Form1Location);
        myform2.Show();

//Form2

 Point Form1Loc;
    public Form2(Point Form1LocationRef)
    {
        Form1Loc = Form1LocationRef;
        InitializeComponent();

    }

Ответ 6

Также комбинация свойств Left и Top (например, this.Top из формы)