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 に答える