将C#表单设置为负位置

Par*_*ity 6 c# screen-scraping multiple-monitors winforms

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

整体流程是我创建整个屏幕的图像(3000,1920),然后我将其显示为表单中的背景.问题是我不能让这种形式从负面开始,所以它会把一切都搞砸.

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

http://img.paronity.com/KsiA

在此输入图像描述

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

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

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

Par*_*ity 2

抱歉这个帖子。这是可以做到的。问题是我在表单的构造函数中设置表单的大小。我不知道这行不通。一旦我将其设置在表单加载事件上,它就会将其移动到正确的位置。

谢谢@dognose!你说你的测试有效让我认为这可能是一个范围/放置问题,而且确实如此!感谢大家看到这个问题!