WinForm 设置窗体启动位置在活动屏幕右下角

Posted aning2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm 设置窗体启动位置在活动屏幕右下角相关的知识,希望对你有一定的参考价值。

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 设置窗体启动位置在活动屏幕右下角的主要内容,如果未能解决你的问题,请参考以下文章

C# winform 启动后自动最小化至托盘,如何去掉屏幕左下角缩小的那部分

c# 弹出窗,要求在指定位置弹出窗体(屏幕正中、屏幕右下角)

winform 窗体悬浮问题

表格位置在屏幕右下角

C# WinForm窗体界面设置问题

C# 能够让窗体的高度超过屏幕的最大高度吗?winform实现浏览器的效果。