InkAnalyzer.GetTextRangeFromNodes 方法
尋找對應至 ContextNode 物件集合的已辨識字串中的文字範圍。
命名空間: Microsoft.Ink
組件: Microsoft.Ink.Analysis (在 Microsoft.Ink.Analysis.dll 中)
語法
'宣告
Public Sub GetTextRangeFromNodes ( _
nodesToSearch As ContextNodeCollection, _
<OutAttribute> ByRef start As Integer, _
<OutAttribute> ByRef length As Integer _
)
'用途
Dim instance As InkAnalyzer
Dim nodesToSearch As ContextNodeCollection
Dim start As Integer
Dim length As Integer
instance.GetTextRangeFromNodes(nodesToSearch, _
start, length)
public void GetTextRangeFromNodes(
ContextNodeCollection nodesToSearch,
out int start,
out int length
)
public:
void GetTextRangeFromNodes(
ContextNodeCollection^ nodesToSearch,
[OutAttribute] int% start,
[OutAttribute] int% length
)
public void GetTextRangeFromNodes(
ContextNodeCollection nodesToSearch,
/** @attribute OutAttribute */ /** @ref */int start,
/** @attribute OutAttribute */ /** @ref */int length
)
public function GetTextRangeFromNodes(
nodesToSearch : ContextNodeCollection,
start : int,
length : int
)
參數
- nodesToSearch
型別:Microsoft.Ink.ContextNodeCollection
要尋找其文字範圍的 ContextNode 物件集合。
- start
型別:System.Int32%
這個方法傳回時,start 參數會包含 32 位元帶正負號的整數,這個整數表示文字範圍的起點。這個參數是以未初始化的狀態傳遞。
- length
型別:System.Int32%
這個方法傳回時,length 參數會包含 32 位元帶正負號的整數,這個整數表示文字範圍的長度。這個參數是以未初始化的狀態傳遞。
備註
如果 nodesToSearch 包含不相鄰的 ContextNode 物件,則這個方法會傳回涵蓋所有 ContextNode 物件的最小文字範圍。
當 nodesToSearch 包含與 InkAnalyzer 不相關的 ContextNode 時,這個方法會擲回 System.ArgumentException。
範例
這個範例會定義 SelectTextRangeFromNodes 方法,該方法會將 System.Windows.Forms.TextBox, theResultsTextBox 的文字設定為 InkAnalyzer (theInkAnalyzer) 的辨識字串。接著會將文字方塊選取範圍設定為跨越 theContextNodes 參數的已辨識文字。
''' <summary>
''' Selects the text range in the TextBox, theResultsTextBox, that represents
''' the node ranges in theContextNodes.
''' </summary>
''' <param name="theContextNodes">
''' The nodes for which to select the text range.</param>
''' <remarks>
''' If <paramref name="theContextNodes"/> are not current context nodes
''' of the InkAnalyzer, theInkAnalyzer, then GetTextRangeFromNodes throws
''' an ArgumentException.
''' </remarks>
Private Sub SelectTextRangeFromNodes(ByVal theContextNodes As Microsoft.Ink.ContextNodeCollection)
' Set the text of theResultsTextBox.
Me.theResultsTextBox.Text = Me.theInkAnalyzer.GetRecognizedString()
' Get the text range for theContextNodes.
Dim theStart As Integer
Dim theLength As Integer
Try
Me.theInkAnalyzer.GetTextRangeFromNodes( _
theContextNodes, theStart, theLength)
' Check for common exceptions.
Catch ex As ArgumentException
Throw New ArgumentException( _
"Invalid ContextNodeCollection", "theContextNodes", ex)
End Try
' Select the text range in the TextBox.
Me.theResultsTextBox.Select(theStart, theLength)
Me.theResultsTextBox.Invalidate()
End Sub 'SelectTextRangeFromNodes
/// <summary>
/// Selects the text range in the TextBox, theResultsTextBox, that represents
/// the node ranges in theContextNodes.
/// </summary>
/// <param name="theContextNodes">
/// The nodes for which to select the text range.</param>
/// <remarks>
/// If <paramref name="theContextNodes"/> are not current context nodes
/// of the InkAnalyzer, theInkAnalyzer, then GetTextRangeFromNodes throws
/// an ArgumentException.
/// </remarks>
private void SelectTextRangeFromNodes(
Microsoft.Ink.ContextNodeCollection theContextNodes)
{
// Set the text of theResultsTextBox.
this.theResultsTextBox.Text = this.theInkAnalyzer.GetRecognizedString();
// Get the text range for theContextNodes.
int theStart;
int theLength;
try
{
this.theInkAnalyzer.GetTextRangeFromNodes(
theContextNodes, out theStart, out theLength);
}
// Check for common exceptions.
catch (ArgumentException ex)
{
throw new ArgumentException("Invalid ContextNodeCollection",
"theContextNodes", ex);
}
// Select the text range in the TextBox.
this.theResultsTextBox.Select(theStart, theLength);
this.theResultsTextBox.Invalidate();
}
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0