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 - пространство имен