博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF C# 多屏情况下,实现窗体显示到指定的屏幕内
阅读量:6319 次
发布时间:2019-06-22

本文共 923 字,大约阅读时间需要 3 分钟。

原文:

针对于一个程序,需要在两个显示屏上显示不同的窗体,(亦或N个显示屏N个窗体),可以使用如下的方式实现。

主要涉及到的:System.Windows.Forms.Screen.AllScreens和WindowState属性

 

 

1、首先Window.WindowState属性,其类型是一个枚举,若想在指定的屏幕上显示WindowState属性不能为Maximized,当为Maximized时窗体会显示在主屏上

namespaceSystem.Windows

{

   //    指定是最小化、最大化还是还原窗口

   public enum WindowState

   {

       //    还原窗口。

       Normal = 0,

       //    最小化窗口。

       Minimized = 1,

       //    最大化窗口。

       Maximized = 2

   }

}

 

 

2、System.Windows.Forms.Screen.AllScreens属性提供获取获取系统上所有显示器的数组,因此我们通过此属性获取各个屏幕的参数,从而使用Window.Top和Window.Left设置偏移参数实现窗体显示位置。

Eg:例子实现传入屏幕Screen 对象,让窗体显示到指定的屏幕Screen 中。

public void  Display(System.Windows.Forms.Screen screen)

       {

            Window window = m_RootCtrlasWindow;// RootCtrl为Window类实例

            if (window != null)

            {

                window.Top = 0;

                window.Left =screen.WorkingArea.Left;

                window.Show();

            }

       }

 

调用:m_window.Display(System.Windows.Forms.Screen.AllScreens[0]);//显示到第一块屏幕上。

注:假设屏幕分辨率是1920*1080,有两屏幕,多屏的情况下主屏的左上角的坐标为(0,0),第二个屏幕左上角坐标是(1920,0)

.说白了,就是让窗体自动偏移到指定的屏幕中,并且要注意Window.WindowState属性的设置。

 

转载地址:http://pujaa.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
Java学习日志(17-2-集合框架工具类Arrays及其他特性)
查看>>
HTTP响应头和请求头信息对照表
查看>>
Chrome完美屏蔽优酷广告及黑屏教程
查看>>
一份不错的php面试题(附答案)
查看>>
前端工程资源发布、优化
查看>>
nginx安装(ubuntu14.04)
查看>>
SQLServer2008备份和恢复
查看>>
WinCE 6.0 的编译
查看>>
访问Nginx上的资源时出现403的原因及解决办法
查看>>
大家好,我是蔡某某,刚刚注册的账号,希望大家支持与帮助
查看>>
shell检测输入的IP是否合法
查看>>
30 分钟快速入门 Docker 教程
查看>>
初步计划
查看>>
Ubuntu11.10下编译android源码4.0.3
查看>>
解决安装wordpress出现"此网页包含重定向循环"
查看>>
如何关闭 CentOS7 SELinux
查看>>
vsftpd本地用户访问
查看>>
Web服务器
查看>>
python文件操作学习笔记
查看>>