gpt4 book ai didi

c# - WPF:多个屏幕

转载 作者:太空狗 更新时间:2023-10-29 19:44:09 27 4
gpt4 key购买 nike

我正在用 WPF 编写屏幕保护程序。我有屏幕保护程序,但是,它只显示在我的主显示器上。当用户有多个显示器时,是否有办法“遮蔽”或将图形绘制到其他显示器上?我四处搜索了一下,但没有找到任何相关内容。

更新

根据下面 ananthonline 的回答,我能够使用以下窗口在非主显示器上实现“黑屏”效果:

<Window x:Class="ScreenSaver.BlackOut"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Cursor="None" WindowStyle="None" ResizeMode="NoResize" Background="Black">
</Window>

并使用以下过程为 App.xaml.cs 中的每个屏幕初始化一个:

foreach (Screen s in Screen.AllScreens)
{
if (s != Screen.PrimaryScreen)
{
BlackOut blackOut = new BlackOut();
blackOut.Top = s.WorkingArea.Top;
blackOut.Left = s.WorkingArea.Left;
blackOut.Width = s.WorkingArea.Width;
blackOut.Height = s.WorkingArea.Height;
blackOut.Show();
}
}

请注意,需要导入 System.Windows.Forms 才能访问 Screen 类。

最佳答案

您应该能够使用 System.Drawing.Screen.* 类在每个屏幕上设置多个窗口。请注意,您不会将每个窗口都设置为最大化,而是设置一个大小合适、无边框的窗口。

此外 - 您可能需要记住,多显示器设置的总边界可能并不总是一个矩形(如果您计划“合并”所有边界以创建一个跨越所有显示器的窗口)。

关于c# - WPF:多个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17859414/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com