2008-09-15 12 views
0

J'ai une application Visual Studio avec une image d'écran de démarrage coupée en "tranches". Les positions sont spécifiées dans le concepteur de fiches afin qu'elles s'alignent correctement à l'écran. Cependant, les images sont hors de propos lorsque l'application est exécutée sur la version chinoise de Windows XP. Il semble que les tranches d'images aient été "éclatées".Désalignement d'image dans l'application Visual Studio

Que se passe-t-il ici? Est-ce que les versions internationales de Windows ont une signification différente de la coordonnée "en haut à gauche" de l'image? Comment puis-je forcer les images à être affichées précisément là où je les veux?

+0

Utilisez-vous plusieurs contrôles PictureBox pour afficher vos tranches d'image? –

Répondre

0

Dans l'événement OnLoad du formulaire, vous pouvez toujours définir explicitement l'emplacement de chaque section. Si à partir de la partie supérieure gauche du premier et en supposant un tableau avec les images dans l'ordre:

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); 
} 

qui établira la première image dans le coin supérieur gauche et toutes les images suivantes juste après la dernière image.

2

Nous avons trouvé une solution! Apparemment, les boîtes à images se sont étendues sur le PC XP chinois, mais pas les images qu'elles contenaient. Le correctif consistait à ajouter du code comme suit:

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 

Espérons que cela aide quelqu'un d'autre!