专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > WPF

判断Window在哪个荧屏

发布时间:2011-06-23 13:54:19 文章来源:www.iduyao.cn 采编人员:星星草
判断Window在哪个屏幕

最近在做窗口最大化时需要一个功能,如果是多个显示器的话,需要在当前显示器最大化,由于是根据屏幕长宽进行设置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);

  

1楼vbfool
最大化我还是觉得把样式设置为None,Padding设置一个数字(一般用5),然后最大化比较好一些。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: