Export (0) Print
Expand All

TextPatternRange::Select Method

Highlights text in the text control corresponding to the text range Start and End endpoints.

Namespace:  System.Windows.Automation.Text
Assembly:  UIAutomationClient (in UIAutomationClient.dll)

public:
void Select()

ExceptionCondition
InvalidOperationException

Occurs when text selection is not supported by the text control.

If a degenerate text range is provided, the text insertion point will move to the Start endpoint of the text range.

private void SetSelection(AutomationElement target, String s, Boolean backward, Boolean ignorecase)
{
    // Specify the control type we're looking for, in this case 'Document'
    PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

    // target --> The root AutomationElement.
    AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

    TextPattern textpatternPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

    if (textpatternPattern == null)
    {
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
        return;
    }
    TextPatternRange[] currentSelection = textpatternPattern.GetSelection();

    TextPatternRange tprText = currentSelection[0].FindText(s, backward, ignorecase);
    tprText.Select();
}
Private Sub SetSelection(ByVal target As AutomationElement, ByVal s As String, ByVal backward As Boolean, ByVal ignorecase As Boolean)
    ' Specify the control type we're looking for, in this case 'Document' 
    Dim cond As PropertyCondition = New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document)

    ' target --> The root AutomationElement. 
    Dim textProvider As AutomationElement = target.FindFirst(TreeScope.Descendants, cond)

    Dim textpatternPattern As TextPattern = CType(textProvider.GetCurrentPattern(TextPattern.Pattern), TextPattern)

    If (textpatternPattern Is Nothing) Then
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.")
        Return 
    End If 
    Dim currentSelection As TextPatternRange() = textpatternPattern.GetSelection()
    Dim selectedText As TextPatternRange = currentSelection(0).FindText(s, backward, ignorecase)
    selectedText.Select()
End Sub

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft