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就可以了, 但是始终只显示在主屏幕上. 多屏幕下, 次屏幕的坐标是可以随意调动的, 为了不受多屏幕的影响, 直接获取屏幕的左上角, 然后计算右下角, 最后根据右下角的坐标计算窗体的起始位置.

优质内容筛选与推荐>>
1、数据库(MSSQLServer,Oracle,DB2,MySql)常见语句以及问题(续1之拼接字符串)
2、7.10 break.c 程序
3、.8-Vue源码之AST(4)
4、(转)Ping对方网站地址的IP总显示超时是什么意思
5、Golang 入门系列(七) Redis的使用


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号