在多屏幕環境下, 默認使用鼠標所在的屏幕this
StartPosition
爲 FormStartPosition.Manual
.var screen = Screen.FromPoint(new Point(Cursor.Position.X, Cursor.Position.Y));
var x = screen.WorkingArea.X + screen.WorkingArea.Width - this.Width; var y = screen.WorkingArea.Y + screen.WorkingArea.Height - this.Height; this.Location = new Point(x, y);
在計算窗體起始座標的時候, 看似簡單, 實際上走了一點彎路..., 若是是單屏幕, 只須要screen.WorkingArea.Width - this.Width
就能夠了, 可是始終只顯示在主屏幕上. 多屏幕下, 次屏幕的座標是能夠隨意調動的, 爲了避免受多屏幕的影響, 直接獲取屏幕的左上角, 而後計算右下角, 最後根據右下角的座標計算窗體的起始位置.3d