0

我有一个 Visual Studio 应用程序,它的初始屏幕图像被切割成“切片”。这些位置在表单设计器中指定,因此它们在屏幕上正确排列。但是,当应用程序在中文版的 Windows XP 上运行时,图像不合适。看起来好像图像切片被“爆炸”分开了。

这里发生了什么?国际版本的Windows对图片的“左上”坐标有不同的含义吗?如何强制图像精确显示在我想要的位置?

4

2 回答 2

2

我们找到了解决方案!显然,图片框在中文 XP PC 上伸展开来,但它们包含的图像却没有。解决方法是添加如下代码:

Me.PictureBoxIcon.Width = Me.PictureBoxIcon.Image.Width
Me.PictureBoxIcon.Height = Me.PictureBoxIcon.Image.Height

Dim loc As New Point
loc.X = Me.PictureBoxIcon.Location.X
loc.Y = Me.PictureBoxIcon.Location.Y + Me.PictureBoxIcon.Height
Me.PictureBoxAbout.Location = loc
Me.PictureBoxAbout.Width = Me.PictureBoxAbout.Image.Width
Me.PictureBoxAbout.Height = Me.PictureBoxAbout.Image.Height

希望这对其他人有帮助!

于 2008-09-16T17:25:14.923 回答
0

在表单的 OnLoad 事件中,您始终可以显式设置每个部分的位置。如果从第一个左上角开始,并假设一个包含图像的数组按顺序排列:

images[0].Location = new Point(0,0);
for (int i = 1; i < images.Length; i++)
{
  images[i].Location = new Point(images[i - 1].Location.X + images[i - 1].Width, 0);
}

这会将第一张图像设置为左上角,并将所有后续图像设置在最后一张图像之后。

于 2008-09-15T21:10:35.420 回答