Я кодирую приложение WinForms в Visual Studio С# 2010, и я хочу узнать расположение верхнего левого угла окна WinForm (начальное расположение окна).
Как я могу это сделать?
Я кодирую приложение WinForms в Visual Studio С# 2010, и я хочу узнать расположение верхнего левого угла окна WinForm (начальное расположение окна).
Как я могу это сделать?
Если вы обращаетесь к нему из самой формы, вы можете написать
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;
}
Надеюсь, это поможет.
Form.Location.X
и Form.Location.Y
предоставят вам координаты X и Y в верхнем левом углу.
Используйте Form.Bounds.Top
, чтобы получить координату "Y" и Form.Bounds.Left
, чтобы получить координату "X"
У меня был аналогичный случай, когда для моего 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();
}
Проверь это: Свойство Form.DesktopLocation
int left = this.DesktopLocation.X;
int top = this.DesktopLocation.Y;
Также комбинация свойств Left и Top (например, this.Top из формы)