将C#表单设置为负位置

时间:2012-11-14 03:32:01

标签: c# winforms screen-scraping multiple-monitors

我正在开发一个Windows工具,它将使用其API与CloudApp进行交互。我在这里找到了一些关于如何实现Region捕获的文章,我曾经修改过它以满足我的确切需求。一切进展顺利,但我遇到多显示器设置问题。麻烦的原因是我在1920x1080运行一个显示器,第二个是1080x1920。

整体流程是我创建整个屏幕的图像(3000,1920),然后我将其显示为表单中的背景。问题是,我无法从负面开始,因此它会将所有内容都降低。

如果我在选择区域之前查看我捕获的原始图像,一切都很好:

http://img.paronity.com/KsiA

enter image description here

问题是当我提出区域表格时。为了使它成为表格的背景并且在正确的位置,我需要表格的左上角X,Y为(0,-670)。无论我尝试哪种方法,我都无法做到这一点。

有没有办法达到我所遗漏的负面影响?为了完整起见,我做了一个非常简单的表格,输出了它的" top"当你移动它时坐标,当我将它移动到垂直监视器的上部时,我得到它的负点,所以我知道它们是有效的。

如果我的代码的任何部分都有用,请告诉我,我会发布它。我只是不确定它是否必要。提前谢谢!

1 个答案:

答案 0 :(得分:2)

对不起该帖子。有可能做到。问题是我在表单的构造函数中设置表单的大小。我不知道这不起作用。一旦我在表单加载事件上设置它,它就会将它移动到正确的位置。

谢谢@dognose!你说你的测试工作让我觉得这可能是一个范围/位置问题,它就是!感谢大家看这个问题!