Поделиться через


BoundsRules - класс

Правила, ограничивающие где форма может быть расположена и какой она может принимать размер.

Иерархия наследования

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

Пространство имен:  Microsoft.VisualStudio.Modeling.Diagrams
Сборка:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (в Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

Синтаксис

'Декларация
<SerializableAttribute> _
Public MustInherit Class BoundsRules
[SerializableAttribute]
public abstract class BoundsRules

Тип BoundsRules предоставляет следующие члены.

Конструкторы

  Имя Описание
Защищенный метод BoundsRules

В начало страницы

Методы

  Имя Описание
Открытый метод Equals Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый метод GetCompliantBounds Изменение предлагаемого размера и расположения, чтобы они соответствовали с данным правилом границ.Вызывается повторно, пока пользователь двигает мышь.Фантомная фигура показывает пользователю совместимые границы.
Открытый метод GetHashCode Служит хэш-функцией по умолчанию. (Унаследовано от Object.)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Открытый метод ToString Возвращает строку, представляющую текущий объект. (Унаследовано от Object.)

В начало страницы

Заметки

Границы управляют класс, определяющий ограничение на размер и расположение фигуры. GetCompliantBounds вызывается повторно, пока пользователь перетаскивает фигуры или углы или стороны фигуры.

Для получения дополнительной информации см. Класс BoundsRules ограничивает расположение и размеры фигур.

Примеры

В следующем примере ограничивает прямоугольную фигуры, чтобы быть панелью фиксированного размера, или горизонтальной или вертикальной. Когда пользователь перетаскивает углы или стороны, структура перевернет между 2 позволенными конфигурациями высоты и ширины.

Обратите внимание, что и расположение и размер может быть ограничено, если требуется.

Правило границы класс и экземпляр создается в фигуре:

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

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualStudio.Modeling.Diagrams - пространство имен

Другие ресурсы

Класс BoundsRules ограничивает расположение и размеры фигур