编辑:我意识到我没有正确标记 - 我应该将vb.net作为标记包含在内,理由是可能存在基于代码的解决方案。请注意,我的源代码中没有对分辨率进行任何更改。
UPDATE:当程序开始执行时,每个PictureBox的左坐标乘以~0.376,而每个PictureBox.Top的顶部坐标乘以~0.418。这种“缩小”适用于所有图片框。我所拥有的源代码非常简陋,不能对此负责。我还看了另一个项目,我仍然面临同样的错误。一个简单但很差的修复方法是将每个坐标除以上面提到的相应值。
为了向您展示我面临的问题,请查看下面的图片。比较这个图像,其中放置了每个PictureBox(即一条蛇,一组箭头等),以便它们与背景图像的特征对齐:
对于此图像,PictureBox元素聚集在一起。他们的位置已经“缩小”,更接近表格的原点(请注意,所有元素在运行时都是水平变换,这就是元素位于右上角的原因):
在我给出的解决方案中(我相信在VS 2010中开发),每个PictureBox的位置超出了背景图像,如下所示:
很明显,每个图片框都以有组织的方式放置。在执行期间,每个PictureBox都会转到它的预期位置(即与背景图像正确对齐)。
显然,我给出的解决方案的原始开发人员不会遇到我的问题。解决方案在运行时期间正常工作的事实表明我的VB实例存在某种错误。有谁知道任何解决方案?
我遇到了这个问题which asks how to change the default resolution for a Windows 8 App和这个问题which asks why some applications appear differently on different machines,但它们没有提出明确的解决方案。我会感激任何帮助,因为它阻碍了我必须做的重要工作。提前谢谢!
答案 0 :(得分:1)
我现在感觉有点傻了 - 我开始对VB表单进行更多的研究,并且遇到了Microsoft documentation on form scaling。意识到我的问题可能是由于自动执行此缩放而引起的,然后我找到了我的表单的AutoScaleMode属性,并将其从字体更改为无 ,这解决了我的问题。