打开后新窗口的位置

Posted

技术标签:

【中文标题】打开后新窗口的位置【英文标题】:position of new windows after opening 【发布时间】:2013-09-04 13:52:32 【问题描述】:

我每次都尝试在 C# (WinForms) 中打开新窗口的相同位置。 尝试使用此代码:

private void Notification_Load(object sender, EventArgs e)

    Rectangle screenSize = Screen.PrimaryScreen.Bounds; //get resolution of screen
    int x = screenSize.Height -115-30; //x coordinate = resolution of screen - window Height - 30 (for taskbar)
    int y = screenSize.Width - 345; //y coordinate = resolution of screen - window Weight
    this.SetDisplayRectLocation(x, y); //new coordinates for form

windows 的属性 StartPosition =Manual

但结果 - 总是让我的窗口在左上角打开。

尝试为 x 和 y 设置不同的值 - 结果相同。

我做错了什么?

【问题讨论】:

为什么不直接设置this.Leftthis.Top 值? 为什么你的 x = Heighty = Width 【参考方案1】:

希望对你有帮助

 int x = Screen.PrimaryScreen.WorkingArea.Top;
 int y = Screen.PrimaryScreen.WorkingArea.Left;
 this.Location = new Point(x, y);

【讨论】:

Rectangle screenSize = Screen.PrimaryScreen.Bounds; int x = Screen.PrimaryScreen.WorkingArea.Right - this.Right; int y = Screen.PrimaryScreen.WorkingArea.Bottom - this.Bottom; this.Location = new Point(x,y); - 好的【参考方案2】:

使用

this.Left
this.Top

表单的属性

this.SetDisplayRectLocation 用于在可滚动表单中设置视图位置: http://msdn.microsoft.com/en-us/library/system.windows.forms.scrollablecontrol.setdisplayrectlocation.aspx

【讨论】:

【参考方案3】:

试试这个:

this.Location=new Point(x,y);

【讨论】:

以上是关于打开后新窗口的位置的主要内容,如果未能解决你的问题,请参考以下文章

异步请求后新窗口打开页面,会被浏览器拦截问题

ajax请求成功后新窗口window.open()被拦截的解决方法

C#设置打开新窗口的位置

如何使用HTML实现点击一个链接打开新窗口

Maya (PySide2) - 重新打开窗口而不是新窗口

在 Xcode 11 中,如何在新选项卡或新窗口中快速打开文件?