2012-07-11 3 views
1

Sur Visual Studio 2008, j'ai une instance de System.Windows.Forms.TabPage.Les contrôles sur TabPage changent inexplicablement

Il existe de nombreux contrôles sur le TabPage.

Par conséquent, il existe une barre de défilement verticale sur le TabPage.

De nombreuses fois, toutes les commandes sont décalées uniformément, ce qui crée beaucoup d'espace vide en haut de la page TabPage. Je dois faire défiler vers le bas pour voir le premier contrôle, qui devrait être en haut de la TabPage. Cela se produit dans Visual Studio et ensuite à l'exécution.

Aucun événement ne semble déclencher ce changement. Cela arrive juste. L'affichage de la propriété Location pour chaque contrôle indique qu'ils ont tous été décalés vers le bas de la même valeur.

J'ai dû résoudre ce problème manuellement plusieurs fois. Ensuite, le problème revient, généralement quelques jours plus tard. Je peux travailler sur le formulaire. Ça à l'air bon. Ferme le. Revenez plus tard, et les contrôles ont tous été décalés d'un montant fixe.

Juillet 14, plus d'informations

Visual Studio 2008 est en train de changer ceci:

this.groupBoxTrees.Location = new System.Drawing.Point (3, 3);

à ceci:

this.groupBoxTrees.Location = new System.Drawing.Point (3, 1030);

Pourquoi? Quand? Pour quelle raison? Je ne sais pas.

Notez que la valeur 1030 est également aléatoire. Tout ce que je peux dire est que pour une raison quelconque VS ajoute une valeur constante à chaque propriété Location.Y sur chaque contrôle sur un TabPage. Toutes les commandes sont verrouillées.

Des suggestions?

Merci!

+0

Avez-vous la propriété Ancrage de vos contrôles sur la bordure inférieure de votre onglet? – Steve

+0

Merci pour la réponse. Je ne sais pas. Je vais savoir. –

+0

Non. La propriété Anchor des contrôles est définie sur: Haut, Gauche. –

Répondre

1

Grâce à un collègue, j'ai découvert ce qui ne va pas.

Si le formulaire est enregistré lorsque la barre de défilement de la TabPage a été déplacée vers le bas, Studio Visual Studio ajoute un numéro à Location.Y de chaque contrôle sur le TabPage. Cette valeur est corrélée à la distance parcourue par la barre de défilement.

Le problème peut être évité en déplaçant toujours la barre de défilement jusqu'en haut du formulaire avant d'enregistrer les modifications apportées par le formulaire.

Pourquoi cela se produit-il? Il n'y a aucun moyen pour moi de le découvrir. Cela peut être lié au fait que j'utilise deux moniteurs. Mais encore une fois, si cela aide à causer le problème, alors vous penseriez que Location.X serait changé, plutôt que Location.Y.

Questions connexes