首页 > Windows开发 > 详细

判断Window在哪个屏幕

时间:2015-10-28 14:25:41      阅读:354      评论:0      收藏:0      [点我收藏+]

最近在做窗口最大化时需要一个功能,如果是多个显示器的话,需要在当前显示器最大化,由于是根据屏幕长宽进行设置Window大小,没有使用WindowState.Maximized,window.Left不知道该设置多少。后来在调试时发现非主显示器的X坐标是根据主屏来的,如下图:第2个是主屏,那么第一个屏幕X就是-1600

技术分享

这样就可以根据Window.Left来计算所在屏幕

foreach (System.Windows.Forms.Screen screen in System.Windows.Forms.Screen.AllScreens)
 {
      if (winLeft >= screen.Bounds.Left && winLeft <= screen.Bounds.Left + screen.Bounds.Width)
      {
           return screen;
      }
 }
 return System.Windows.Forms.Screen.AllScreens[0];

 后来发现一个更简答的方法

IntPtr handle = new WindowInteropHelper(window).Handle;
return System.Windows.Forms.Screen.FromHandle(handle);

  

判断Window在哪个屏幕

原文:http://www.cnblogs.com/rainchao/p/4917098.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!