ContextNode.Confirm, méthode
Mise à jour : November 2007
Définit le type de confirmation, qui restreint les modifications que le InkAnalyzer peut apporter à propos du nœud.
Espace de noms : Microsoft.Ink
Assembly : Microsoft.Ink.Analysis (dans Microsoft.Ink.Analysis.dll)
Syntaxe
'Déclaration
Public Sub Confirm ( _
type As ConfirmationType _
)
'Utilisation
Dim instance As ContextNode
Dim type As ConfirmationType
instance.Confirm(type)
public void Confirm(
ConfirmationType type
)
public:
void Confirm(
ConfirmationType type
)
public void Confirm(
ConfirmationType type
)
public function Confirm(
type : ConfirmationType
)
Paramètres
- type
Type : Microsoft.Ink.ConfirmationType
ConfirmationType appliqué au nœud.
Notes
Utilisez la méthode Confirm pour permettre à l'utilisateur final de confirmer que le InkAnalyzer a analysé les traits correctement. Après l'appel à la méthode Confirm, le InkAnalyzer ne modifiera pas les objets ContextNode pour ces traits au cours d'une analyse ultérieure.
Par exemple, si l'utilisateur final écrit « to » et que votre application appelle la méthode Analyze, le InkAnalyzer créera un nœud InkWord avec la valeur « to ». Si l'utilisateur final ajoute « jour » après « bon » pour former un seul mot et que l'application appelle de nouveau la méthode Analyze, le InkAnalyzer créera probablement un nœud InkWord avec la valeur « bonjour ». Toutefois, si après le premier appel à la méthode Analyze, l'application appelle Confirm sur le nœud InkWord pour « bon » avec la valeur NodeTypeAndProperties, le résultat n'est pas le même. Lorsque l'utilisateur final ajoute « jour » et que l'application appelle de nouveau la méthode Analyze, le nœud « bon » n'est pas modifié. Le InkAnalyzer reconnaîtrait deux nœuds InkWord pour « bon jour ».
Vous ne pouvez confirmer que des objets ContextNode de type InkWord et InkDrawing. Si vous tentez d'appeler Confirm sur un nœud qui n'est pas un nœud terminal, une exception InvalidOperationException (page pouvant être en anglais) est levée.
Si vous appelez InkAnalyzer.RemoveStroke, l'objet ContextNode est défini automatiquement comme étant non confirmé si le trait qui est supprimé est associé à un objet ContextNode confirmé.
Les méthodes SetStrokes, InkAnalyzer.SetStrokesType et InkAnalyzer.SetStrokeType, lèvent une exception InvalidOperationException (page pouvant être en anglais) si l'objet ContextNode est déjà confirmé. La méthode ReparentStrokes lève l'exception si le nœud de destination ou le nœud source est confirmé.
Exemples
L'exemple suivant est un gestionnaire d'événements pour l'événement Control.MouseUp (page pouvant être en anglais) sur un Panel (page pouvant être en anglais) theNotesPanel, qui collecte l'entrée manuscrite via un InkCollector, theInkCollector. L'application dispose d'un Boolean, confirmMode, défini par un MenuItem, confirmMenuItem. En mode de confirmation, l'utilisateur clique sur un mot pour le confirmer (ou désactiver la confirmation si le nœud est déjà confirmé). L'exemple convertit l'événement de déplacement de la souris vers le haut en coordonnées d'entrée manuscrite et utilise les méthodes HitTest et FindNodesOfType pour rechercher les nœuds appropriés. Une fois les nœuds localisés, la méthode Confirm est appelée pour activer/désactiver la confirmation. Enfin, l'application quitte le mode de confirmation.
Private Sub theNotesPanel_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles theNotesPanel.MouseUp
If Me.confirmMode = True Then
' Translate coordinates into ink dimensions
Dim hitPoint As New Point(e.X, e.Y)
Dim panelGraphics As Graphics = Me.theNotesPanel.CreateGraphics()
Me.theInkCollector.Renderer.PixelToInkSpace(panelGraphics, hitPoint)
panelGraphics.Dispose()
' Find the strokes that the user selected
Dim selectedStrokes As Strokes = Me.theInkCollector.Ink.HitTest(hitPoint, 10)
' Find the ink word nodes that correspond to those strokes
Dim selectedNodes As ContextNodeCollection = _
Me.theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.InkWord, _
selectedStrokes)
' Toggle the confirmation type on these nodes
Dim selectedNode As ContextNode
For Each selectedNode In selectedNodes
If selectedNode.IsConfirmed(ConfirmationType.NodeTypeAndProperties) = True Then
selectedNode.Confirm(Microsoft.Ink.ConfirmationType.None)
Else
selectedNode.Confirm(Microsoft.Ink.ConfirmationType.NodeTypeAndProperties)
End If
Next selectedNode
' No longer in "confirm" mode
Me.confirmMode = False
Me.ConfirmMenuItem.Checked = False
Me.theInkCollector.Enabled = True
End If
End Sub
private void theNotesPanel_MouseUp(object sender, MouseEventArgs e)
{
if (this.confirmMode)
{
// Translate coordinates into ink dimensions
Point hitPoint = new Point(e.X, e.Y);
Graphics panelGraphics = this.theNotesPanel.CreateGraphics();
this.theInkCollector.Renderer.PixelToInkSpace(panelGraphics, ref hitPoint);
panelGraphics.Dispose();
// Find the strokes that the user selected
Strokes selectedStrokes = this.theInkCollector.Ink.HitTest(hitPoint, 10);
// Find the ink word nodes that correspond to those strokes
ContextNodeCollection selectedNodes =
this.theInkAnalyzer.FindNodesOfType(Microsoft.Ink.ContextNodeType.InkWord,
selectedStrokes);
// Toggle the confirmation type on these nodes
foreach (ContextNode selectedNode in selectedNodes)
{
if (selectedNode.IsConfirmed(ConfirmationType.NodeTypeAndProperties))
{
selectedNode.Confirm(Microsoft.Ink.ConfirmationType.None);
}
else
{
selectedNode.Confirm(Microsoft.Ink.ConfirmationType.NodeTypeAndProperties);
}
}
// No longer in "confirm" mode
this.confirmMode = false;
this.confirmMenuItem.Checked = false;
this.theInkCollector.Enabled = true;
}
}
Plateformes
Windows Vista
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Informations de version
.NET Framework
Pris en charge dans : 3.0