SnapLine 类

定义

表示在用户界面 (UI) 中动态创建以便在容器中辅助控件的设计时布局的水平和垂直线段。 此类不能被继承。

public ref class SnapLine sealed
public sealed class SnapLine
type SnapLine = class
Public NotInheritable Class SnapLine
继承
SnapLine

注解

下表列出了视觉设计工具支持的常见模式,以帮助你在设计图面上定位和调整控件的大小。

“模式” 说明
自由形式 使你可以自由布局控件。
网格 显示一个静态叠加网格,该网格可帮助你布局控件。
对齐线 显示有助于设置容器的控件相对于彼此的布局的参考线。 对齐线源自控件及其容器。

SnapLine 和相关类型有助于支持 Snapline 模式。

动态生成对齐线,当控件边缘移动到另一个控件或靠近其容器边界附近时,会自动生成对齐线。 当从工具箱中添加控件或由鼠标操作或键盘命令移动或调整大小时,可能会发生这种情况。 控件通常同时定义了水平对齐线和垂直对齐线;对于矩形控件,这些控件通常从所有四个边缘扩展。

SnapLine 类仅使用几个属性来描述每个对齐线,如下表所示。

properties 说明
SnapLineType 指定相对于其关联控件的行的位置和方向。 通常,只有类似类型的对齐线才能自动对齐。
Offset 指定距离原点(即控件左上角)到对齐线开始的位置(以像素为单位)。
Priority 指定对齐线的相对重要性。 在任何给定的布局决策点中,仅显示处于活动状态且优先级最高的对齐线。
Filter 定义对齐线的自定义类别。 这是一个可选字符串。
IsHorizontalIsVertical 指示对齐线是否具有水平方向或垂直方向。

ControlDesigner 类在属性中 SnapLines 存储其相应控件类型的对齐线。 此对对齐线的基类处理将足以满足大多数控件,因为它定义了沿控件边缘对齐的LeftRightTop对齐线和Bottom对齐线。 开发自定义控件时,如果此默认组织不足够,请重写 SnapLines 派生自 ControlDesigner的类的属性。 例如,你可能希望将基于文本的控件(如标签)的水平对齐线与文本 (的上边缘和底线对齐,而不是控件) 的上边缘和底边缘。

无法从该 SnapLineType 类派生。

Visual Studio中对此功能有广泛的支持,请参阅演练:使用对齐线在Windows 窗体上排列控件

构造函数

SnapLine(SnapLineType, Int32)

使用指定对齐线类型和偏移量初始化 SnapLine 类的新实例。

SnapLine(SnapLineType, Int32, SnapLinePriority)

使用指定的对齐线类型、偏移量和优先级初始化 SnapLine 类的新实例。

SnapLine(SnapLineType, Int32, String)

使用指定的对齐线类型、偏移量和筛选器名称初始化 SnapLine 类的新实例。

SnapLine(SnapLineType, Int32, String, SnapLinePriority)

使用指定的对齐线类型、偏移量、筛选器名称和优先级初始化 SnapLine 类的新实例。

属性

Filter

获取与此对齐线关联的由程序员定义的筛选器类别。

IsHorizontal

获取一个值,该值指示对齐线是否有水平方向。

IsVertical

获取一个值,该值指示对齐线是否有垂直方向。

Offset

获取对齐线偏离关联控件的原点的像素数。

Priority

获取指示对齐线的相对重要性的值。

SnapLineType

获取对齐线的类型,它指示一般位置和方向。

方法

AdjustOffset(Int32)

调整对齐线的 Offset 属性。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ShouldSnap(SnapLine, SnapLine)

返回一个值,该值指示指定的 SnapLine 是否应与另一 SnapLine 对齐。

ToString()

返回当前对齐线的字符串表示形式。

适用于

另请参阅