Partager via


BoundsRules, classe

Règles qui limitent l'emplacement possible d'une forme et son mode de dimensionnement.

Hiérarchie d'héritage

System.Object
  Microsoft.VisualStudio.Modeling.Diagrams.BoundsRules
    Microsoft.VisualStudio.Modeling.Diagrams.AvoidCornerRule
    Microsoft.VisualStudio.Modeling.Diagrams.DefaultBoundsRules
    Microsoft.VisualStudio.Modeling.Diagrams.KeepInParentRule
    Microsoft.VisualStudio.Modeling.Diagrams.NoBoundsRules
    Microsoft.VisualStudio.Modeling.Diagrams.PortMovementRule
    Microsoft.VisualStudio.Modeling.Diagrams.SnapToGridRule
    Microsoft.VisualStudio.Modeling.Diagrams.SnapToPerimeterFollowingRotationRule

Espace de noms :  Microsoft.VisualStudio.Modeling.Diagrams
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

Syntaxe

'Déclaration
<SerializableAttribute> _
Public MustInherit Class BoundsRules
[SerializableAttribute]
public abstract class BoundsRules

Le type BoundsRules expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée BoundsRules

Début

Méthodes

  Nom Description
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetCompliantBounds Ajuste une taille et la position proposées afin qu'elles soient conformes à cette règle de limites.Appelée à plusieurs reprises lorsque l'utilisateur déplace la souris.La forme fantôme montre à l'utilisateur les limites conformes.
Méthode publique GetHashCode Sert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)

Début

Notes

Une règle limites est une classe qui définit les limites de taille et l'emplacement d'une forme. GetCompliantBounds est appelée à plusieurs reprises pendant qu'un utilisateur fait glisser une forme ou les angles ou les côtés d'une forme.

Pour plus d'informations, consultez Définition de l'emplacement et de la taille de la forme par la classe BoundsRules.

Exemples

L'exemple suivant contraint une forme rectangulaire pour être une barre de taille fixe, horizontale ou verticale. Lorsque l'utilisateur fait glisser les angles ou les côtés, le plan retourne entre les deux configurations autorisées de la hauteur et la largeur.

Notez que l'emplacement et la taille peuvent être limités si vous le souhaitez.

La règle limites est une classe, une instance est créée dans la zone :

using Microsoft.VisualStudio.Modeling.Diagrams; ...
public partial class BarShape
{
  /// <summary>
  /// Rule invoked when the user is resizing a shape.
  /// </summary>
  public override BoundsRules BoundsRules
  { get { return new BarBoundsRule(); } }
}
/// <summary>
/// Rule invoked when the user is changing a shape's outline.
/// Provides real-time mouse rubber-band feedback, so must work fast.
/// </summary>
public class BarBoundsRule: BoundsRules
{ 
  public override RectangleD GetCompliantBounds 
     (ShapeElement shape, RectangleD proposedBounds)
  {
    double thickness = 0.1;
    if (proposedBounds.Height > proposedBounds.Width)
    {
      // There is a minimum width for a shape; the width
      // will actually be set to the lesser of 
      // thickness and that minimum.
      return new RectangleD(proposedBounds.Location, 
            new SizeD(thickness, proposedBounds.Height));
    }
    else
    {
      // There is a minimum height for a shape; the 
      // height will actually be set to the lesser of 
      // thickness and that minimum.
      return new RectangleD(proposedBounds.Location, 
         new SizeD(proposedBounds.Width, thickness));
} } }

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Modeling.Diagrams, espace de noms

Autres ressources

Définition de l'emplacement et de la taille de la forme par la classe BoundsRules