2010-08-30 5 views
3

J'ai utilisé la propriété Anchor pour certains de mes contrôles lors de la conception. mais lorsque je change la propriété .Top de ces contrôles au moment de l'exécution, il semble que cela perturbe la propriété Anchor et ne l'honore plus. que se passe-t-il? comment réparer?Définition de la propriété .Top, suppression de la propriété Anchor

+0

Poster un extrait qui illustre le problème. –

Répondre

2

J'ai essayé de reproduire le problème que vous avez décrit, mais je n'ai pas réussi à le reproduire exactement. L'exemple suivant, cependant, peut vous aider à résoudre le problème que vous soupçonnez d'avoir.

(Mes blocs de l'employeur i.imgur.com, l'hôte d'image pour le SO. Si vous avez des problèmes pour visualiser les captures d'écran, laissez-moi savoir.)

La forme simple suivante contient une zone de groupe ancré sur tous les quatre côtés à sa forme parente. Cependant,

Screenshot 02

Note,:

Screenshot 01

Lorsque le bouton est cliqué, le code suivant exécute:

groupBox1.Top = 0; 

Quels sont les résultats dans la zone de groupe a déménagé comme si cet ancrage est toujours honoré:

Screenshot 03

Je soupçonne que vous êtes à la recherche de l'effet que rien sauf l'emplacement en haut des changements de contrôle lorsque vous redimensionnez le contrôle. Malheureusement, dans ce cas, la définition de la propriété Top déplace le contrôle plutôt que de le redimensionner.

Toutefois, vous pouvez effectuer le redimensionnement à l'aide de la méthode SetBounds(). Dans l'exemple ci-dessous, je redimensionne le contrôle ancré, avec un nouveau sommet, en utilisant ses limites existantes. Notez que je ne prends aucune mesure pour éviter les hauteurs négatives illégales, ce que vous devriez probablement faire.

 int newtop = 0; // the new top bound 
groupBox1.SetBounds(
     groupBox1.Left, 
     newtop, 
     groupBox1.Width, 
     groupBox1.Height + groupBox1.Top - newtop); 

Il en résulte un redimensionné et déplacé le contrôle qui continue à honorer son ancrage après:

Screenshot 04

Questions connexes