修改动太生成窗口的Form.StartPosition 属性,此属性为枚举(FormStartPosition)类型,修改为FormStartPosition.Manual,就可以能过设置新窗体的Location 属性来修改窗口的位置。
Point p = new Point(200, 100);
Form win = new Form();
win.Width = 150;
win.Height = 50;
win.Text = "新窗口";
win.StartPosition = FormStartPosition.Manual;
win.Location = p;
win.Show();
效果如下:
MSDN对这个属性有如下说明:
CenterParent 窗体在其父窗体中居中。
CenterScreen 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。
Manual 窗体的位置由 Location 属性确定。
WindowsDefaultBounds 窗体定位在 Windows 默认位置,其边界也由 Windows 默认决定。
WindowsDefaultLocation 窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定。
Rectangle screenRect = Screen.PrimaryScreen.WorkingArea;
//Rectangle screenRect = Screen.PrimaryScreen.Bounds;
win.Location = new Point(screenRect.Right - frm.Width, screenRect.Bottom - frm.Height);
win.StartPosition = FormStartPosition.Manual;
win.Show();