1. 程式人生 > >WinForm 設置窗體啟動位置在活動屏幕右下角

WinForm 設置窗體啟動位置在活動屏幕右下角

屏幕 for class 技術 point screen .com cursor 使用

WinForm 設置窗體啟動位置在活動屏幕右下角

在多屏幕環境下, 默認使用鼠標所在的屏幕

1. 設置窗體的 StartPositionFormStartPosition.Manual.

2. 獲取鼠標所在屏幕:

    var screen = Screen.FromPoint(new Point(Cursor.Position.X, Cursor.Position.Y));

3. 計算並設置窗體位置坐標:

    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就可以了, 但是始終只顯示在主屏幕上. 多屏幕下, 次屏幕的坐標是可以隨意調動的, 為了不受多屏幕的影響, 直接獲取屏幕的左上角, 然後計算右下角, 最後根據右下角的坐標計算窗體的起始位置.

技術分享圖片

WinForm 設置窗體啟動位置在活動屏幕右下角