打开后新窗口的位置
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.Left
和this.Top
值?
为什么你的 x = Height
和 y = 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);
【讨论】:
以上是关于打开后新窗口的位置的主要内容,如果未能解决你的问题,请参考以下文章