Wel*_*.59 16 c# .net-4.0 winforms
我使用的是Visual Studio 2010,C#.NET 4,WinForms.我的电脑有2台显示器.
当我调用CenterToScreen
表单的方法时,表单将自己置于光标所在的任何屏幕上.有谁知道为什么?
Cod*_*ked 33
从文档:
不要直接从您的代码中调用它.而是将StartPosition属性设置为CenterScreen.
CenterToScreen方法使用以下优先级列表来确定用于居中表单的屏幕:
- 表单的所有者属性.
- 表单的HWND所有者.
- 当前有鼠标光标的屏幕.
因此,有效地在表格的初始显示期间使用它.它不打算以后使用.
你可以这样编写自己的:
protected void ReallyCenterToScreen()
{
Screen screen = Screen.FromControl(this);
Rectangle workingArea = screen.WorkingArea;
this.Location = new Point() {
X = Math.Max(workingArea.X, workingArea.X + (workingArea.Width - this.Width) / 2),
Y = Math.Max(workingArea.Y, workingArea.Y + (workingArea.Height - this.Height) / 2)
};
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9756 次 |
最近记录: |