Freigeben über


BoundsRules schränken Position und Größe von Formen ein

Eine Grenzen-Regel ist eine Klasse, die Begrenzungen für die Größe und Position einer Form definiert.Sie enthält eine Methode, die wiederholt aufgerufen wird, wenn ein Benutzer eine Form oder die Ecken oder die Seiten einem Formular ziehen.

Im folgenden Beispiel wird eine rechteckige Form ein, um eine Leiste feste Größe ist entweder horizontal oder vertikal.Wenn der Benutzer die Ecken oder Seiten, die Gliederung leichten schläge zwischen den beiden zulässigen Konfigurationen von Höhe und Breite gezogen wird.

Die Grenzen die Regel ist eine Klasse, die von BoundsRulesabgeleitet ist.Eine Instanz der Regel wird im Format erstellt:

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

Beachten Sie, dass der Position und Größe beschränkt werden können.

Siehe auch

Referenz

BoundsRules

Weitere Ressourcen

Reagieren auf und Propagieren von Änderungen