Export (0) Print
Expand All

WindowPattern.SetWindowVisualState Method

Changes the WindowVisualState of the window.

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

'Declaration
Public Sub SetWindowVisualState ( _
	state As WindowVisualState _
)

Parameters

state
Type: System.Windows.Automation.WindowVisualState

The requested WindowVisualState of the window.

ExceptionCondition
InvalidOperationException

A control does not support a requested behavior.

In the following example, a WindowPattern control pattern is obtained from an AutomationElement and is subsequently used to specify the visual state of the AutomationElement.

'''------------------------------------------------------------------------ 
''' <summary> 
''' Obtains a WindowPattern control pattern from an automation element. 
''' </summary> 
''' <param name="targetControl"> 
''' The automation element of interest. 
''' </param> 
''' <returns> 
''' A WindowPattern object. 
''' </returns> 
'''------------------------------------------------------------------------ 
Private Function GetWindowPattern(ByVal targetControl As AutomationElement) As WindowPattern
    Dim windowPattern As WindowPattern = Nothing 

    Try
        windowPattern = DirectCast( _
        targetControl.GetCurrentPattern(windowPattern.Pattern), _
        WindowPattern)
    Catch 
        ' object doesn't support the WindowPattern control pattern 
        Return Nothing 
    End Try 
    ' Make sure the element is usable. 
    If False = windowPattern.WaitForInputIdle(10000) Then 
        ' Object not responding in a timely manner 
        Return Nothing 
    End If 
    Return windowPattern
End Function 'GetWindowPattern



...


    '''------------------------------------------------------------------------ 
    ''' <summary> 
    ''' Calls the WindowPattern.SetVisualState() method for an associated  
    ''' automation element. 
    ''' </summary> 
    ''' <param name="windowPattern"> 
    ''' The WindowPattern control pattern obtained from 
    ''' an automation element. 
    ''' </param> 
    ''' <param name="visualState"> 
    ''' The specified WindowVisualState enumeration value. 
    ''' </param> 
    '''------------------------------------------------------------------------ 
    Private Sub SetVisualState(ByVal windowPattern As WindowPattern, _
        ByVal visualState As WindowVisualState)
        Try 
            If (windowPattern.Current.WindowInteractionState = _
                    WindowInteractionState.ReadyForUserInteraction) Then 
                Select Case visualState
                    Case WindowVisualState.Maximized
                        ' Confirm that the element can be maximized 
                        If ((windowPattern.Current.CanMaximize) & _
                                Not (windowPattern.Current.IsModal)) Then
                            windowPattern.SetWindowVisualState( _
                            WindowVisualState.Maximized)
                        End If 
                        ' TODO: additional processing 
                    Case WindowVisualState.Minimized
                        ' Confirm that the element can be minimized 
                        If ((windowPattern.Current.CanMinimize) & _
                                Not (windowPattern.Current.IsModal)) Then
                            windowPattern.SetWindowVisualState( _
                            WindowVisualState.Minimized)
                        End If 
                        ' TODO: additional processing 
                    Case WindowVisualState.Normal
                        windowPattern.SetWindowVisualState( _
                        WindowVisualState.Normal)
                    Case Else
                        windowPattern.SetWindowVisualState( _
                        WindowVisualState.Normal)
                End Select 
                ' TODO: additional processing 
            End If 
        Catch exc As InvalidOperationException
            ' object is not able to perform the requested action 
            Return 
        End Try 
    End Sub 'SetVisualState

.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