首页 > 编程语言 >C#WPF的多屏显示问题

C#WPF的多屏显示问题

时间:2024-05-22 23:18:25浏览次数:28  
标签:WorkingArea 多屏 C# Screen window Top WPF screen Left

如果想让窗口在第二个屏幕中显示

public MainWindow()
{
InitializeComponent();
Screen[] _screens = Screen.AllScreens;
Screen s = Screen.AllScreens[1];
System.Drawing.Rectangle rect = s.WorkingArea;
this.Left = rect.Left;
this.Top = rect.Top;
}
如果想在拓展桌面中2个显示器同时显示一个窗口内容

protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);

foreach (var screen in System.Windows.Forms.Screen.AllScreens)
{
var window = new Window1
{
WindowStartupLocation = WindowStartupLocation.Manual,
WindowState = WindowState.Maximized,
WindowStyle = WindowStyle.None,
Title = screen.DeviceName,
Width = screen.Bounds.Width,
Height = screen.Bounds.Height,
Left = screen.Bounds.Left,
Top = screen.Bounds.Top,
};
window.Show();
}
}
不要忘记从 App.xaml 中删除 StartupUri="Window1.xaml"。

如果要在多个显示器中显示多个窗口,则

List<Screen> screens = Screen.AllScreens.ToList();
获取所有显示器的数量,把窗口显示到对应的屏幕上

ChildLPeriod childLPeriod = new ChildLPeriod(mainViewmodel);
childLPeriod.DataContext = mainViewmodel;

Display(childLPeriod, screens[1]);
Display函数

public void Display(Window _window, System.Windows.Forms.Screen screen)

{
Window window = _window as Window;
if (window != null)
{
window.Top = 0;
window.Left = screen.WorkingArea.Left;
window.Width = screen.WorkingArea.Width;
window.Height = screen.WorkingArea.Height;
window.Loaded += Window_loaded;
window.Show();
}
}

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/xuehuavickie/article/details/130425684

标签:WorkingArea,多屏,C#,Screen,window,Top,WPF,screen,Left
From: https://www.cnblogs.com/webenh/p/18207362

相关文章

  • 这个开源投屏工具太爽了 - scrcpy
    手机投屏到电脑不少人都会用到的功能。除非手机和电脑同一品牌才会有比较好的体验(例如:华为、荣耀、苹果等)。我用的手机和笔记本非一个品牌,相信不少人跟我一样。这个时候就要找第三方投屏工具,有些要收费,而且感觉很重。直到我发现了scrcpy,已经在使用scrcpy的同学可以默默退出了......
  • wpf 动画显示隐藏_[UWP]用Win2D和CompositionAPI实现文字的发光效果,并制作动画
    weixin_39880899于2020-12-1109:26:23发布阅读量521 收藏点赞数文章标签: wpf动画显示隐藏  1.成果 献祭了周末的晚上,成功召唤出了上面的番茄钟。正当我在感慨“不愧是Shadow大人,这难道就是传说中的五彩斑斓的黑?”“那才不是什么阴影效果,那是......
  • WPF炫酷UI及动画
        偶然看见了一张图,感觉挺好看的,花了点时间将他转化成了我代码仓库的一部分。虽然不难但也费时间。其中除了背景是百度的一张底图,其他所有内容均通过WPF的Path、Line、TextBlock、Border以及DoubleAnimation来实现。效果如下:​纯黑色背景也还蛮好看的。​   ......
  • C++类中封装指针函数
      classMyClass{public:voidfunc1(){//实现}voidfunc2(){//实现}//成员函数指针类型typedefvoid(MyClass::*MemberFuncPtr)();//一个成员函数指针成员变量MemberFuncPtrptrFunc;......
  • skynet.newservice简介:服务的启动
    skynet是一个轻量级的游戏服务器框架。简介在skynet的体系中,服务是一个基础概念。通常,我们使用skynet.newservice来启动一个snlua服务。那么,当我们写下localaddr=skynet.newservice("test")这行代码时,系统是怎么运作的呢?思考一下这些问题:调用skynet.newservice会不会发......
  • 浅谈C#中取消令牌CancellationTokenSource
    基础操作CancellationTokenSourcecancellationTokenSource=newCancellationTokenSource();cancellationTokenSource.Token.Register(()=>{Console.WriteLine("取消了1111");});......
  • Wpf UI框架 MaterialDesign 的使用记录
    近期公司有桌面客户端的开发需求,并且对样式和界面反馈有一定的要求,对比各种开源UI框架后确认使用MaterialDesign。1、引入框架MaterialDesignThemes,注意下对应的版本号,我用的2.6.0的。原因嘛视频教程就是这个版本。  2、App.xaml中引用样式文件注释下面的可以先不用加,后面......
  • CodeForces 1965F Conference
    洛谷传送门CF传送门考虑题目可以看成天和人的匹配,因此判断单个日期区间\([l,r]\)可以考虑Hall定理,设\(N(S)\)为在\(S\)这些天有空的人的数量,定义\(S\)合法当且仅当\(|N(S)|\ge|S|\),那么\([l,r]\)合法当且仅当\(\forallS\subseteq[l,r]\),\(S\)合法。猜......
  • 96-Unique Binary Search Trees 二叉搜索树的数量
    问题描述链接:https://leetcode.com/problems/unique-binary-search-trees/description/Givenaninteger n,return thenumberofstructurallyunique BST's(binarysearchtrees)whichhasexactly n nodesofuniquevaluesfrom 1 to n.解释:给定一个整数n,求1~n......
  • websocket和http的区别
    1、websocket1.1介绍WebSocket是一种实时通信协议,它允许客户端和服务器之间进行双向通信,而不需要每次请求都重新建立连接。WebSocket是HTML5中的新功能,它建立在HTTP协议之上,通过握手协议来建立持久化的连接。WebSocket的握手协议比HTTP的握手协议更简单,因为WebSocket......