如何获取 Windows 窗体在屏幕上的位置

本文关键字:屏幕 位置 窗体 Windows 何获取 获取 | 更新日期: 2023-09-27 17:56:14

我正在Visual Studio C# 2010中编写WinForms应用程序,我想找出WinForm窗口左上角的位置(窗口的起始位置)。

我该怎么做?

如何获取 Windows 窗体在屏幕上的位置

如果你从表单本身访问它,那么你可以写

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.XForm.Location.Y将为您提供左上角的X和Y坐标。

检查一下:窗体.桌面位置属性

        int left = this.DesktopLocation.X;
        int top = this.DesktopLocation.Y;
使用 Form.Bounds.Top 获取 "Y" 坐标

Form.Bounds.Left获取 "X" 坐标

我有一个类似的情况,对于我的 Form2,我需要 Form1 的屏幕位置。 我通过其构造函数将 form1 的屏幕位置传递给 form2 来解决它:

表单1

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

/表单2

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

也是 Left 和 Top 属性的组合(例如这个。从表单内顶部)