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 集合附加到 RecognizerContext 的 Strokes 属性;或者必须先将 Strokes 属性设置为 nullnull 引用(在 Visual Basic 中为 Nothing),然后再设置 Guide 属性。
备注
如果使用后一种方法,可能需要将 Strokes 集合重新附加到 RecognizerContext 的 Strokes 属性。
RecognizerCapabilities 枚举包含 FreeInput、LinedInput 和 BoxedInput 标志。这些标志指定识别器 的功能,但因为这些标志是只读的,所以无法在 Recognizer 或 RecognizerContext 对象上直接设置其中任何一个标志。只能通过使用 Guide 属性设置识别参考线,才能将识别器设置为特定的模式。
如果未设置 Guide 属性,则默认值为 FreeInput 模式(假定识别器支持此模式)。
下表列出了可能的输入模式以及在每种模式下要为 Columns 和 Rows 属性设置的值。
输入类型 |
将 Rows 属性设置为 |
并将 Columns 属性设置为 |
---|---|---|
自由输入 |
0 |
0 |
只有 1 行的垂直行输入 |
0 |
1 |
具有 n 行的垂直行输入 |
0 |
n |
只有 1 行的水平行输入 |
1 |
0 |
具有 n 行的水平行输入 |
n |
0 |
具有 1 个框的框式输入 |
1 |
1 |
具有 n 个框的框式输入 |
n |
1 |
具有 x 行 z 列的框网格的框式输入 |
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