WindowPattern.Close Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Attempts to close the current window.
public:
void Close();
public void Close ();
member this.Close : unit -> unit
Public Sub Close ()
Exceptions
The control is unable to perform the requested action.
When the control is no longer available.
Examples
In the following example, a WindowPattern control pattern is obtained from an AutomationElement and is subsequently used to close 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 WindowPattern GetWindowPattern(AutomationElement targetControl)
{
WindowPattern windowPattern = null;
try
{
windowPattern =
targetControl.GetCurrentPattern(WindowPattern.Pattern)
as WindowPattern;
}
catch (InvalidOperationException)
{
// object doesn't support the WindowPattern control pattern
return null;
}
// Make sure the element is usable.
if (false == windowPattern.WaitForInputIdle(10000))
{
// Object not responding in a timely manner
return null;
}
return windowPattern;
}
'''------------------------------------------------------------------------
''' <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.Close() method for an associated
/// automation element.
/// </summary>
/// <param name="windowPattern">
/// The WindowPattern control pattern obtained from
/// an automation element.
/// </param>
///--------------------------------------------------------------------
private void CloseWindow(WindowPattern windowPattern)
{
try
{
windowPattern.Close();
}
catch (InvalidOperationException)
{
// object is not able to perform the requested action
return;
}
}
'''------------------------------------------------------------------------
''' <summary>
''' Calls the WindowPattern.Close() method for an associated
''' automation element.
''' </summary>
''' <param name="windowPattern">
''' The WindowPattern control pattern obtained from
''' an automation element.
''' </param>
'''------------------------------------------------------------------------
Private Sub CloseWindow(ByVal windowPattern As WindowPattern)
Try
windowPattern.Close()
Catch
' object is not able to perform the requested action
Return
End Try
End Sub
Remarks
When called on a split pane control, this method will close the pane and remove the associated split. This method may also close all other panes depending on implementation.