如何在Windows窗体应用程序中获取监视器的屏幕大小以捕获屏幕截图?

时间:2017-01-20 00:49:41

标签: c# .net winforms screenshot multiple-monitors

我正在开发一种解决方案,它可以抓取屏幕截图并定期以图像的形式保存。此应用程序内置于Windows窗体。

我已使用以下代码获取屏幕分辨率 - :

int h = Screen.PrimaryScreen.WorkingArea.Height;
int w = Screen.PrimaryScreen.WorkingArea.Width;

这在1366 * 768分辨率的笔记本电脑上运行良好。

但是,当在非常大的显示器上执行相同的应用程序时,图像会从右侧和底部被裁剪掉。

有没有办法处理代码中的监视器大小。

2 个答案:

答案 0 :(得分:1)

假设您要捕获包含表单的屏幕,请使用Screen.FromControl method,将表单实例传递给它,然后使用该屏幕的WorkingArea。

如果这个假设有误,请在您的问题中添加更多细节。

答案 1 :(得分:0)

此代码执行多个屏幕......我使用的是...

<meta name = "viewport" content = "width = device-width, initial-scale=1">