16

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

我怎样才能做到这一点?

4

6 回答 6

18

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

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;
}

我希望这有帮助。

于 2013-01-25T16:41:14.137 回答
6

Form.Location.XForm.Location.Y会给你左上角的 X 和 Y 坐标。

于 2013-01-25T16:33:18.213 回答
3

检查这个: Form.DesktopLocation 属性

        int left = this.DesktopLocation.X;
        int top = this.DesktopLocation.Y;
于 2019-09-03T07:03:39.830 回答
1

用于Form.Bounds.Top获取“Y”坐标和Form.Bounds.Left获取“X”坐标

于 2013-01-25T16:42:11.927 回答
1

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

//Form1

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

//Form2

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

    }
于 2017-08-22T18:30:01.670 回答
0

也是 Left 和 Top 属性的组合(例如表单中的 this.Top)

于 2013-01-25T16:34:24.787 回答