BoundsRules-Klasse
Regeln, die einschränken, wo eine Form lokalisiert werden kann und wie ihre Größe festgelegt werden kann.
Vererbungshierarchie
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
Namespace: Microsoft.VisualStudio.Modeling.Diagrams
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)
Syntax
'Declaration
<SerializableAttribute> _
Public MustInherit Class BoundsRules
[SerializableAttribute]
public abstract class BoundsRules
Der BoundsRules-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
BoundsRules |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
Equals | Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.) | |
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.) | |
GetCompliantBounds | Passen Sie eine vorgeschlagene Größe an und positionieren Sie es so, dass sie mit dieser Grenzwerteregel kompatibel sind.Wird wiederholt aufgerufen, während der Benutzer die Maus bewegt.Die inaktive Form zeigt dem Benutzer die kompatiblen Grenzen an. | |
GetHashCode | Fungiert als die Standardhashfunktion. (Von Object geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Hinweise
Eine Grenzen-Regel ist eine Klasse, die Begrenzungen für die Größe und Position einer Form definiert. GetCompliantBounds wiederholt aufgerufen, wenn ein Benutzer eine Form oder Ecken oder die Seiten einer Form ziehen.
Weitere Informationen finden Sie unter BoundsRules schränken Position und Größe von Formen ein.
Beispiele
Im folgenden Beispiel wird eine rechteckige Form auf einen Balken mit fester Größe begrenzt, entweder horizontal oder vertikal. Wenn der Benutzer die Ecken oder Seiten zieht, kippt der Rahmen zwischen den beiden zulässigen Konfigurationen für die Höhe und die Breite.
Beachten Sie, dass die Position und Größe bei Bedarf beschränkt werden können.
Die Grenzenregel ist eine Klasse, eine Instanz wird in der Form 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));
} } }
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Siehe auch
Referenz
Microsoft.VisualStudio.Modeling.Diagrams-Namespace