WPF使用扩展屏幕
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes; namespace ScreenShadow
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
} private void Button_Click(object sender, RoutedEventArgs e)
{
Window1 window = new Window1();
window.Show();
} private void Button_Click_1(object sender, RoutedEventArgs e)
{
Window2 window = new Window2();
window.Show();
}
List<Window> openWindows = new List<Window>();
private void Button_Click_2(object sender, RoutedEventArgs e)
{
openWindows.Clear();
Screen[] screens = Screen.AllScreens;
if (screens.Length == )
{
lblmsg.Content = "已经投射1个显示器";
}
else if (screens.Length == )
{
lblmsg.Content = "已经投射2个显示器";
}
else if (screens.Length == )
{
lblmsg.Content = "已经投射4个显示器";
}
else {
lblmsg.Content = "目前仅支持1,2,4个显示器模式";
} //主屏幕显示
Screen mainScreen = screens.FirstOrDefault(x=>x.Primary==true);
//主屏幕显示window1
Window1 win1 = new Window1();
win1.WindowState = WindowState.Maximized;
win1.WindowStartupLocation = WindowStartupLocation.Manual;
System.Drawing.Rectangle mswa = mainScreen.WorkingArea;
win1.Left = mswa.Left;
win1.Top = mswa.Top;
win1.Width = mswa.Width;
win1.Height = mswa.Height;
openWindows.Add(win1);
win1.Show(); //其他屏幕显示,这里假设有2个
var subScreen = (from o in screens where o.Primary == false select o).ToList<Screen>();
if (subScreen.Count > ) {
var subscreen1 = subScreen[];
Window2 win2 = new Window2();
win1.WindowState = WindowState.Maximized;
win1.WindowStartupLocation = WindowStartupLocation.Manual;
System.Drawing.Rectangle mswa2 = subscreen1.WorkingArea;
win2.Left = mswa2.Left;
win2.Top = mswa2.Top;
win2.Width = mswa2.Width;
win2.Height = mswa2.Height;
openWindows.Add(win2);
win2.Show();
} } private void BtnClose_Click(object sender, RoutedEventArgs e)
{
if (openWindows.Count > ) {
foreach (var item in openWindows)
{
item.Close();
}
}
} }
}
WPF使用扩展屏幕的更多相关文章
- WPF的单位 屏幕 分辨率
原文:WPF的单位 屏幕 分辨率 WPF程序中的单位是与设备无关的单位,每个单位是1/96英寸,如果电脑的DPI设置为96(每个英寸96个像素),那么此时每个WPF单位对应一个像素,不过如果电脑的DP ...
- ubuntu扩展屏幕
1.了解设置的名称 直接运行xrandr(不带任何参数)就可以显示出当前的显示设备及设备的模式. xdj@xdj-Presario-CQ42-Notebook-PC:~$ xrandr Screen ...
- WPF 获取鼠标屏幕位置、窗口位置、控件位置
原文:WPF 获取鼠标屏幕位置.窗口位置.控件位置 public struct POINT { public int X; public int Y; public POINT(int x, int ...
- winform,wpf,winrt获取屏幕分辨率
winform 当前的屏幕除任务栏外的工作域大小 this.Width = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Widt ...
- linux屏幕扩展、扩展屏幕的校准
#xrandr命令为屏幕扩展 #xinput命令为输入设备 #设置DSI-1为HDMI-1的右扩展 xrandr --output DSI- --right-of HDMI- --auto #DSI- ...
- 2.6 wpf标记扩展
1.什么是标记扩展?为什么要有标记扩展? 标记扩展是扩展xmal的表达能力 为了克服现存的类型转换机制存在的 常用的标记扩展有如下: x:Array 代表一个.net数组,它的子元素都是数组元素.它必 ...
- WPF treeview扩展
记录一下工作中遇到的问题,以便以后忘记了可以来看. 在工作中遇到一个问题,就是要实现类型如下的界面,没有使用Telerik和Dev库.本来最开始是想使用Datagrid,但不知道怎么实现treevie ...
- 设置Ubuntu右侧显示扩展屏幕。。。
sudo xrandr --output VGA1 --right-of LVDS1 --auto
- Wpf窗口设置屏幕居中最前显示
public Window() { InitializeComponent(); WindowStartupLocation = Win ...
随机推荐
- Asp.Net Web API 2第十五课——Model Validation(模型验证)
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文参考链接文章地址htt ...
- 设计模式之美:Bridge(桥接)
索引 别名 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):使用 Bridge 模式分离抽象部分和实现部分. 别名 Handle Body 意图 将抽象部分与它的实现部分分离,使它们 ...
- HBase中MVCC的实现机制及应用情况
MVCC(Multi-Version Concurrent Control),即多版本并发控制协议,广泛使用于数据库系统.本文将介绍HBase中对于MVCC的实现及应用情况. MVCC基本原理 在介绍 ...
- 选择哪种方式进行SharePoint的备份
关于SharePoint的备份还原功能,大家可能都有所了解.但是SharePoint一共有多少种备份方式呢,哪种备份方式是更适合你的呢,本文主要为大家梳理,并且深入的研究一下常见的几种备份方式,以便大 ...
- .NET Core尝试
Dotnet Github网站 http://dotnet.github.io/getting-started/ 微软ASP.NET站点 https://docs.asp.net/en/lates ...
- iOS开发-【C语言】三目运算符
1.N目运算符 像逻辑非(!).负号(-)这种只连接一个数据的符号,称为“单目运算符”,比如!5.-5.像算术运算符.关系运算符.逻辑运算符这种连接二个数据的负号,称为“双目运算符”,比如6+7.8* ...
- 64-bit Tips
终究还是来了.Apple下发了支持64位的最后通牒: As we announced in October, beginning February 1, 2015 new iOS apps submi ...
- (谷歌浏览器等)解决css中点击input输入框时出现外边框方法【outline:medium;】
问题:在使用谷歌浏览器,360浏览器时,点击input输入框会出现带颜色的外边框,如下图所示:
- android: 后台执行的定时任务
Android 中的定时任务一般有两种实现方式,一种是使用 Java API 里提供的 Timer 类, 一种是使用 Android 的 Alarm 机制.这两种方式在多数情况下都能实现类似的效果,但 ...
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(一)
一.前提: 完成Hello Game项目的创建编译. 具体参考:Cocos2dx.3x_Hello Game项目创建篇 二.本篇目标: l 说说关于塔防游戏的想法和思路 l 实现一个简单的塔防游戏 ...