c# - 如何确定我的 .NET Windows Forms 程序在哪个监视器上运行?

标签 c# .net windows winforms screen

我有一个 C# Windows 应用程序,我想确保如果用户将它移到另一个显示器上,它会显示在第二个显示器上。我需要保存主窗体的大小、位置和窗口状态——我已经处理过了——但我还需要知道当用户关闭应用程序时它在哪个屏幕上。

我正在使用 Screen 类来确定当前屏幕的大小,但我找不到任何关于如何确定应用程序在哪个屏幕上运行的信息。

编辑:感谢大家的回复!我想确定窗口在哪个监视器上,这样我就可以进行适当的边界检查,以防用户不小心将窗口放在查看区域之外或更改屏幕大小,从而使表单不再完全可见。

最佳答案

您可以使用此代码获取一组屏幕。

Screen[] screens = Screen.AllScreens;

您还可以通过运行此代码(this 是您所在的窗口窗体)来确定您所在的屏幕

Screen screen = Screen.FromControl(this); //this is the Form class

简而言之,查看 Screen 类和静态辅助方法,它们可能对您有所帮助。

MSDN Link , 没有太多..我建议自己在代码中乱搞。

关于c# - 如何确定我的 .NET Windows Forms 程序在哪个监视器上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1121600/

相关文章:

c# - ComboBox 区分大小写的下拉菜单

c# - 在每个页面回发时弹出 jQuery 对话框

c# - 可以在后台线程中运行 GC.Collect 吗?

java - 对 Windows/Linux/Mac 上的 Java 程序中的全局热键使用react?

c# - 在 C# 中使用 libtiff 从一种 TIFF 格式转换为另一种

.net - 如何使用强名称对 .NET 程序集 DLL 文件进行签名?

c# - 从 .NET 调用 Java API - 最佳方法

c++ - boost::asio 中 TCP 数据包的数量由什么决定?

linux - 在 Linux 上从多个文件中删除冒号

c# - 隐藏我的网站是用 ASP.NET 构建的事实