RecognizerContext.Guide 属性

获取或设置要用于墨迹 输入的 RecognizerGuide

命名空间:  Microsoft.Ink
程序集:  Microsoft.Ink(在 Microsoft.Ink.dll 中)

语法

声明
Public Property Guide As RecognizerGuide
用法
Dim instance As RecognizerContext
Dim value As RecognizerGuide

value = instance.Guide

instance.Guide = value
public RecognizerGuide Guide { get; set; }
public:
property RecognizerGuide Guide {
    RecognizerGuide get ();
    void set (RecognizerGuide value);
}
/** @property */
public RecognizerGuide get_Guide()
/** @property */
public  void set_Guide(RecognizerGuide value)
public function get Guide () : RecognizerGuide
public function set Guide (value : RecognizerGuide)

属性值

类型:Microsoft.Ink.RecognizerGuide
要用于墨迹 输入的 RecognizerGuide

备注

仅当 Strokes 属性为 nullnull 引用(在 Visual Basic 中为 Nothing) 时,才能成功设置 Guide 属性。必须先设置 Guide 属性,然后再将 Strokes 集合附加到 RecognizerContextStrokes 属性;或者必须先将 Strokes 属性设置为 nullnull 引用(在 Visual Basic 中为 Nothing),然后再设置 Guide 属性。

备注

如果使用后一种方法,可能需要将 Strokes 集合重新附加到 RecognizerContextStrokes 属性。

RecognizerCapabilities 枚举包含 FreeInputLinedInputBoxedInput 标志。这些标志指定识别器 的功能,但因为这些标志是只读的,所以无法在 RecognizerRecognizerContext 对象上直接设置其中任何一个标志。只能通过使用 Guide 属性设置识别参考线,才能将识别器设置为特定的模式。

如果未设置 Guide 属性,则默认值为 FreeInput 模式(假定识别器支持此模式)。

下表列出了可能的输入模式以及在每种模式下要为 ColumnsRows 属性设置的值。

输入类型

Rows 属性设置为

并将 Columns 属性设置为

自由输入

0

0

只有 1 行的垂直行输入

0

1

具有 n 行的垂直行输入

0

n

只有 1 行的水平行输入

1

0

具有 n 行的水平行输入

n

0

具有 1 个框的框式输入

1

1

具有 n 个框的框式输入

n

1

具有 xz 列的框网格的框式输入

x

z

如果将该模式设置为 Recognizer 对象不支持的值,则将引发 ArgumentException 异常。

若要查询特定识别器可以使用哪些功能或模式,请使用 Recognizer 对象的 Capabilities 属性。在 Windows Vista 中,拉丁语识别器支持自由输入、框式输入和行输入;东亚字符识别器支持自由输入和框式输入;而笔势识别器仅支持自由输入。

示例

此示例将实例化 RecognizerContext 对象并分配 Guide 属性。

' create a new RecognizerContext object
mRecognizerContext = New RecognizerContext()
' if the Recognizer supports LinedInput, set the Guide
If (mRecognizerContext.Recognizer.Capabilities And RecognizerCapabilities.LinedInput) <> 0 Then
    ' get the lower right corner in pixel units
    Dim lowerRight As Point = New Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height)
    ' convert to ink space units
    mInkOverlay.Renderer.PixelToInkSpace(Me.CreateGraphics(), lowerRight)
    ' create Rectangles
    Dim writingBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
    Dim drawnBox As Rectangle = New Rectangle(0, 0, lowerRight.X, lowerRight.Y)
    ' shrink drawn box relative to writing box
    drawnBox.Inflate(-100, -100)
    ' create Guide with 8 rows, zero columns, and no midline
    Dim guide As RecognizerGuide = New RecognizerGuide(8, 0, 0, writingBox, drawnBox)
    mRecognizerContext.Guide = guide
End If
// create a new RecognizerContext object
mRecognizerContext = new RecognizerContext();
// if the Recognizer supports LinedInput, set the Guide
if ((mRecognizerContext.Recognizer.Capabilities & RecognizerCapabilities.LinedInput) != 0)
{
    // get the lower right corner in pixel units
    Point lowerRight = new Point(mInkOverlay.AttachedControl.Width, mInkOverlay.AttachedControl.Height);
    // convert to ink space units
    mInkOverlay.Renderer.PixelToInkSpace(this.CreateGraphics(), ref lowerRight);
    // create Rectangles
    Rectangle writingBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
    Rectangle drawnBox = new Rectangle(0, 0, lowerRight.X, lowerRight.Y);
    // shrink drawn box relative to writing box
    drawnBox.Inflate(-100, -100);
    // create Guide with 8 rows, zero columns, and no midline
    RecognizerGuide guide = new RecognizerGuide(8, 0, 0, writingBox, drawnBox);
    mRecognizerContext.Guide = guide;
}

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

版本信息

.NET Framework

受以下版本支持:3.0

另请参见

参考

RecognizerContext 类

RecognizerContext 成员

Microsoft.Ink 命名空间

RecognizerContext

RecognizerGuide

Recognizer

RecognizerCapabilities

Recognizer.Capabilities

RecognizerContext.Strokes

RecognizerGuide.Columns

RecognizerGuide.Rows